【问题标题】:Android Fabric Crashlytics crashing with Resources$NotFoundException on app launchAndroid Fabric Crashlytics 在应用启动时因 Resources$NotFoundException 而崩溃
【发布时间】:2018-03-29 09:28:05
【问题描述】:
android.content.res.Resources$NotFoundException
android.content.res.ResourcesImpl.getResourcePackageName

在将 Crashlytics 从 2.6.6 升级到 2.9.1 后,我们开始注意到 Google Play 管理中心出现崩溃。

此崩溃发生在 Crashlytics 初始化之前,因此不会在 Crashlytics 中报告:

java.lang.RuntimeException: 
  at android.app.ActivityThread.installProvider (ActivityThread.java:6423)
  at android.app.ActivityThread.installContentProviders (ActivityThread.java:6012)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5951)
  at android.app.ActivityThread.-wrap3 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1710)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)

Caused by: android.content.res.Resources$NotFoundException: 
  at android.content.res.ResourcesImpl.getResourcePackageName (ResourcesImpl.java:248)
  at android.content.res.Resources.getResourcePackageName (Resources.java:2785)
  at io.fabric.sdk.android.services.common.CommonUtils.getResourcePackageName (CommonUtils.java:767)
  at io.fabric.sdk.android.services.common.CommonUtils.getResourcesIdentifier (CommonUtils.java:517)
  at io.fabric.sdk.android.services.common.CommonUtils.getBooleanResourceValue (CommonUtils.java:498)
  at io.fabric.sdk.android.services.common.FirebaseInfo.isFirebaseCrashlyticsEnabled (FirebaseInfo.java:52)
  at com.crashlytics.android.CrashlyticsInitProvider.shouldInitializeFabric (CrashlyticsInitProvider.java:73)
  at com.crashlytics.android.CrashlyticsInitProvider.onCreate (CrashlyticsInitProvider.java:25)
  at android.content.ContentProvider.attachInfo (ContentProvider.java:1759)
  at android.content.ContentProvider.attachInfo (ContentProvider.java:1734)
  at android.app.ActivityThread.installProvider (ActivityThread.java:6420)
  at android.app.ActivityThread.installContentProviders (ActivityThread.java:6012)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5951)
  at android.app.ActivityThread.-wrap3 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1710)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)

崩溃不会影响太多用户,但他们无法启动应用。 IE。我们有这个比例:

  • 受影响的用户:93
  • 报告总数:4,221

【问题讨论】:

  • 来自 Firebase 的 Mike 在这里。这很奇怪 - 你是否也更新到最新的 Gradle 插件 - 1.25.1?您的应用中有 Firebase 吗?
  • 嗨@MikeBonnell,我们也有这个例外。 Gradle 插件 1.25.4 和 Crashlytics 2.9.4。受影响用户:1 报告:110 用户使用此设备:Samsung Galaxy J5(2016) (j5xnlte),Android 7.1
  • 如果是一个用户,那么总的来说我不会担心。很可能是他们的手机被植根并导致了其他问题。
  • 问题在于 API 级别 8 及以上
  • 你们在使用 AppBundle 在 PlayStore 上分发 APK 吗?

标签: crashlytics crashlytics-android


【解决方案1】:

这也发生在我身上。我无法重现它,但在分析 Crashlytics 日志历史记录后,我意识到它是在我转移到应用程序包后开始发生的。 所以我搬回了 apk,现在我不再遇到这些问题了。

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xx.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0700e7
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2733)
       at android.app.ActivityThread.-wrap12(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6146)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多