android - 崩溃记录的“java.lang.RuntimeException”仅在 android 8.1 (API 27) 中发生,堆栈跟踪未指向我们的代码,如何调试?
问题描述
最近,我们的应用在 Google Play 控制台上记录了多次崩溃,这种情况发生在各种设备上,但仅限于使用 android 8.1 (SDK 27) 的设备上。
此崩溃的堆栈跟踪如下所示:
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3006)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3084)
at android.app.ActivityThread.-wrap11 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1781)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:210)
at android.app.ActivityThread.main (ActivityThread.java:7080)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:523)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:863)
at .CPU
at .26
at .14
at .13
如何使用这些有限的信息来追踪问题的根本原因,因为没有一行引用来自应用程序的代码?有什么方法可以重现这个吗?使用 SDK 27 的模拟器没有发现错误。
注意:有问题的应用程序是在 android studio 上使用 Java 开发的
解决方案
随着您的异常消息,RuntimeException
withUnknown Source
发生在method can not be found by reflection
.
以我的经验,这个问题通常是在第三方 sdk 上引起的,有些method
被称为可能是obsoleted on specified Android version
或not support on specified device
(例如Mi、<em>Samsung .. 等)。
这里给你一些建议,希望对你有帮助。
- 检查崩溃报告以找出其他共同点(例如移动制造商),这将很有帮助。
- 尝试将大部分依赖项升级到最新版本
- 尝试使用您的依赖项搜索此异常。
推荐阅读
- sql-server - SSRS Parameters多值问题(全选不起作用)
- javascript - 如何编辑 Material UI Card 的内容
- javascript - 在不相关的组件之间反应上下文
- dom - 是否有使用当前仅在页面加载时读取源代码(+highlights 关键字)的 Chrome 扩展程序突出显示后续 DOM 更改的修复程序?
- python - 如何将 pandas.core.frame.DataFrame 转换为列表?
- docker-compose - 与 docker bind 和 type 参数混淆
- java - 从 S3 存储桶中获取所有对象的最佳方法是什么
- python - 我已经尝试了所有方法,但我的 pack_forget 在 tkinter 中不起作用?
- c# - 在 Unity 中使用 HTTP Put json
- mysql - 在 SQL 查询中使用 count 时未处理 MySqlException