仅在android 8.1(API 27)中发生的崩溃记录'java.lang.RuntimeException',堆栈跟踪没有指向我们的代码,如何调试?



最近,我们的应用程序在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的Emulator没有发现错误。

注意:有问题的应用程序是在安卓工作室上使用Java开发的

对于您的异常消息,当method can not be found by reflection时,会出现带有Unknown SourceRuntimeException

根据我的经验,这个问题通常会在第三方sdk上引起,它调用的一些method可能是obsoleted on specified Android versionnot support on specified device(如MiSamsung等(。

以下是一些建议,希望对您有所帮助。

  1. 查看崩溃报告以找出其他共同点(例如移动制造商(,这将很有帮助
  2. 尝试将大部分依赖项升级到最新版本
  3. 尝试使用您的依赖项搜索此异常

最新更新