Flutter Android 应用程序在操作一段时间后崩溃

问题描述 投票:0回答:2

我的 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.
flutter
2个回答
0
投票

我不知道为什么人们觉得错误报告如此难以阅读。问题是你的 trust_fall 库。里面说得很清楚了

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

快速搜索,问题已报告但尚未解决。


0
投票

我们在应用程序中也遇到了类似的问题,我们可能有或可能没有与此相同的根本原因..但堆栈跟踪似乎有点匹配。

应用程序在启动时崩溃或无响应。 任何用户交互(触摸)都会引发崩溃。 清除应用程序数据暂时解决了问题,但一段时间后再次启动应用程序时,问题再次出现。 不同 Android 版本的崩溃行为有所不同。

我们彻底分析了应用程序日志,发现问题与位置服务有关。

我们意识到清除应用程序数据可以暂时解决该问题,因为它还清除了位置权限,这似乎可以防止后续启动时发生崩溃。

值得注意的是,在应用程序的启动阶段,我们的应用程序中没有明确使用位置服务的代码,这表明该问题源自第三方库。

经过详细调查,我们确定safe_device软件包(版本1.1.8)是根本原因。 将软件包升级到版本 1.2.0 解决了该问题。

他们的发行说明显示 1.1.9 中进行了与位置相关的更改

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.