Сбой приложения Flutter для Android после некоторых манипуляций

#flutter

#флаттер

Вопрос:

сбой моего приложения для Android примерно через 5 минут работы нормально, без причины. Я пытался выяснить, в чем может быть проблема, но без подсказки. некоторая помощь будет отличной.

У меня есть это на консоли:

 W/s.myname.MyApp(14516): Accessing hidden method Lcom/msic/qarth/PatchStore;- 
>createDisableExceptionQarthFile(Ljava/lang/Throwable;)Z (blacklist, JNI)
E/s.myname.MyApp(14516): [qarth_debug:]  get PatchStore::createDisableExceptionQarthFile method fail.
E/AndroidRuntime(14516): FATAL EXCEPTION: Timer-14
E/AndroidRuntime(14516): Process: yas.myname.MyAppName, PID: 14516
E/AndroidRuntime(14516): java.lang.RuntimeException: Methods marked with @UiThread must be executed 
on the main thread. Current thread: Timer-14
E/AndroidRuntime(14516):    at 
io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:992)
E/AndroidRuntime(14516):    at 
io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:779)
E/AndroidRuntime(14516):    at 
io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:144)
E/AndroidRuntime(14516):    at 
io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:238)
E/AndroidRuntime(14516):    at 
com.anish.trust_fall.TrustFallPlugin$1.gotLocation(TrustFallPlugin.java:43)
E/AndroidRuntime(14516):    at 
com.anish.trust_fall.MockLocation.MockLocationCheck$GetLastLocation.run(MockLocationCheck.java:90)
E/AndroidRuntime(14516):    at java.util.TimerThread.processTask(Timer.java:569)
E/AndroidRuntime(14516):    at java.util.TimerThread.mainLoop(Timer.java:527)
E/AndroidRuntime(14516):    at java.util.TimerThread.run(Timer.java:512)
D/ZrHung.AppEyeUiProbe(14516): stop checker.
I/Process (14516): Sending signal. PID: 14516 SIG: 9
Lost connection to device.
  

Комментарии:

1. Вы используете библиотеку, которая вызывает код flutter из другого потока / службы. В Android вы должны запускать все вызовы методов для flutter из.a UIThread. Это или вы делаете что-то странное с таймером. Трудно сказать, так как я не знаю вашего pubspec.yaml

2. @ValdaXD я не использую таймер, но, возможно, это делает одна из моих зависимостей. зависимости: flutter: sdk: вибрация flutter: 1.2.4 аудиоплееры: ^ 0.15.1 assets_audio_player: ^ 1.7.0 shared_preferences: ^ 0.5.7 3 геолокатор: ^ 5.3.2 2 разрешение: ^ 0.1.7 местоположение: ^ 3.0.2 location_permissions: ^ 3.0.0 trust_fall: ^1.0.4 google_maps_flutter: ^ 0.5.28 1 search_map_place: ^ 0.3.0 flutter_polyline_points: ^ 0.2.1 google_map_polyline: ^ 0.2.0 1 intl_phone_number_input: ^ 0.4.4 cloud_firestore: ^ 0.13.6 firebase_auth: ^ 0.16.1 firebase_storage: ^3.1.6

Ответ №1:

Я не знаю, почему людям так трудно читать отчеты об ошибках. Проблема в вашей библиотеке trust_fall. Это четко указано в

 E/AndroidRuntime(14516):    at 
com.anish.trust_fall.TrustFallPlugin$1.gotLocation(TrustFallPlugin.java:43)
  

Быстрый поиск, и проблема уже обнаружена, но не решена.