【问题标题】:Google Play Console - Crash Report: java.lang.RuntimeExceptionGoogle Play 控制台 - 崩溃报告:java.lang.RuntimeException
【发布时间】:2018-12-19 14:22:19
【问题描述】:

我收到了一些来自 Google Play 商店中我的一个应用的用户的崩溃报告。

这是我找到 Play 商店的堆栈:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2946)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3081)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1831)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6806)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)

这是设备:Xiaomi POCO F1 (beryllium), Android 9,应用程序在启动时崩溃。

不幸的是,堆栈上没有任何对我的包的引用。

这是我的 gradle 设置:

compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "xxxxxxxxx"
        minSdkVersion 15
        targetSdkVersion 28
        multiDexEnabled true
    }

在我测试的其他 android 9 设备中没有问题。这可能是与设备中存在的播放服务有关的问题吗? 有什么想法吗?

谢谢

【问题讨论】:

  • 这样做的原因是 Android 团队和 Google 根本不关心崩溃、提供可靠的操作系统或帮助开发人员或应用程序所有者。这是一个永远不会随着 Android 改变的心态问题。

标签: android google-play google-play-services runtimeexception android-9.0-pie


【解决方案1】:

Android 的伟大之处在于它是开源的。因此,您可以自己调查这些问题。

在这种情况下,让我们看一下ActivityThread的来源。在 Google 上搜索 "source ActivityThread.java"。对我来说,最高的结果是the source code on android.googlesource.com。

现在看一下 performLaunchActivity() 方法。遗憾的是堆栈跟踪中没有消息,但是当为您的应用程序加载启动活动时出现问题时,此方法看起来会引发 RuntimeException。所以看起来某种消息正在进来,您的启动活动正在尝试启动,但在加载您的应用程序时抛出异常。不幸的是,我不能给你更多的细节。

您可能想尝试与 Firebase Crashlytics 之类的解决方案集成,它为您提供比 Play 管理中心提供的更详细的崩溃调查工具。

【讨论】:

  • 谢谢,我查看了源代码,发现崩溃取决于我通过反射使用的类。好主意集成 Firebase Crashlytics。谢谢
  • 如果设备制造商根据自己的喜好更改了该类下的代码怎么办?这仅适用于配备原生 Android 的设备。
猜你喜欢
  • 2018-07-25
  • 2017-11-02
  • 1970-01-01
  • 2019-03-18
  • 1970-01-01
  • 2018-07-24
  • 2017-10-23
  • 2019-04-01
  • 1970-01-01
相关资源
最近更新 更多