应用程序启动时,Crashlytics与Resources $ NotFoundException崩溃

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

我最近检查了我的谷歌播放崩溃,发现我有成千上万的用户遇到此崩溃,但没有关于崩溃的事情:

java.lang.RuntimeException: 
  at android.app.ActivityThread.installProvider (ActivityThread.java:7110)
  at android.app.ActivityThread.installContentProviders (ActivityThread.java:6594)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6498)
  at android.app.ActivityThread.-wrap2 (Unknown Source)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1963)
  at android.os.Handler.dispatchMessage (Handler.java:108)
  at android.os.Looper.loop (Looper.java:166)
  at android.app.ActivityThread.main (ActivityThread.java:7425)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)
Caused by: android.content.res.Resources$NotFoundException: 
  at android.content.res.ResourcesImpl.getResourcePackageName (ResourcesImpl.java:325)
  at android.content.res.Resources.getResourcePackageName (Resources.java:2099)
  at io.fabric.sdk.android.services.common.CommonUtils.getResourcePackageName (CommonUtils.java:768)
  at io.fabric.sdk.android.services.common.CommonUtils.getResourcesIdentifier (CommonUtils.java:518)
  at io.fabric.sdk.android.services.common.CommonUtils.getBooleanResourceValue (CommonUtils.java:499)
  at io.fabric.sdk.android.services.common.FirebaseInfo.isFirebaseCrashlyticsEnabled (FirebaseInfo.java:56)
  at com.crashlytics.android.CrashlyticsInitProvider.shouldInitializeFabric (CrashlyticsInitProvider.java:85)
  at com.crashlytics.android.CrashlyticsInitProvider.onCreate (CrashlyticsInitProvider.java:25)
  at android.content.ContentProvider.attachInfo (ContentProvider.java:1919)
  at android.content.ContentProvider.attachInfo (ContentProvider.java:1894)
  at android.app.ActivityThread.installProvider (ActivityThread.java:7107)
  at android.app.ActivityThread.installContentProviders (ActivityThread.java:6594)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6498)
  at android.app.ActivityThread.-wrap2 (Unknown Source)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1963)
  at android.os.Handler.dispatchMessage (Handler.java:108)
  at android.os.Looper.loop (Looper.java:166)
  at android.app.ActivityThread.main (ActivityThread.java:7425)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:921)

关于stackoverflow的类似问题:Question 1 Question 2

我有一个持续的电子邮件线程与Fabric支持,但他们认为这种情况发生的唯一原因是因为:

2018-12-09 14:39:09.899 [DEBUG](Thread-6)com.crashlytics - Crashlytics找到了ProjectName,一个缺少必需工件的模块:Root:E:\ DevelopmentEnvironment \ Projects \ ProjectName(Exists),Manifest:E: \ DevelopmentEnvironment \ Projects \ ProjectName \ AndroidManifest.xml(不存在),Res:E:\ DevelopmentEnvironment \ Projects \ ProjectName \ res(不存在),资产:E:\ DevelopmentEnvironment \ Projects \ ProjectName \ assets(不存在) 't存在),数据:C:\ Users \ hvkro_000.crashlytics \ com.crashlytics.tools \ ProjectName-bec53d32b3aec63f870c6dd19f7186ae46e1e3a1(不存在),NDK_OUT:null(不存在),NDK_LIBS_OUT:null(不存在) ),(Maven?false),(Gradle false),(使用任何IML?true),(使用任何默认值?true)(Manifest-Found-In:root?false src / main?false)(Res-Found-In) :root?false src / main?false)(Assets-Found-In:root?false src / main?false)

我们找不到您的清单。我相信这是问题所在。

我无法在我的结尾复制这个问题,但正如你在下面看到的那样,它发生在相当数量的用户身上。我已经使用了很长时间,我无法弄清楚导致这个问题的原因。任何帮助将不胜感激。 enter image description here

android firebase crashlytics google-fabric
2个回答
0
投票

经过微小的改变后,我能够解决这个问题。以前我是这样初始化Fabric:

Fabric.with(this, new Crashlytics.Builder().core(crashlyticsCore).build());

然后我更新它看起来像这样:

final Crashlytics crashlytics = new Crashlytics.Builder().core(crashlyticsCore).build();
    final Fabric fabric = new Fabric.Builder(this)
            .kits(crashlytics)
            .debuggable(BuildConfig.DEBUG)
            .build();
    Fabric.with(fabric);

这个改变为我解决了这个问题。但是面料团队应该在我面前抓住它,因为我已经分享了我如何用它们初始化面料。之前的代码是如何使用结构在其文档中更早地进行初始化。他们至少应该弃用这种初始化方式。


0
投票

对我来说,这是在我搬到app bundle后发生的。

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

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