I recently checked my google play crashes and found out that I have thousands of users with this crash, but nothing on crashlytics:
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)
Similar questions on stackoverflow: Question 1 Question 2
I have an ongoing email thread with Fabric support, but the only reason they think this is happening is because:
2018-12-09 14:39:09.899 [DEBUG] (Thread-6) com.crashlytics - Crashlytics found ProjectName, a module missing required artifacts: Root: E:\DevelopmentEnvironment\Projects\ProjectName(Exists), Manifest: E:\DevelopmentEnvironment\Projects\ProjectName\AndroidManifest.xml (Doesn't Exist), Res: E:\DevelopmentEnvironment\Projects\ProjectName\res (Doesn't Exist), Assets: E:\DevelopmentEnvironment\Projects\ProjectName\assets (Doesn't Exist), Data: C:\Users\hvkro_000.crashlytics\com.crashlytics.tools\ProjectName-bec53d32b3aec63f870c6dd19f7186ae46e1e3a1 (Doesn't Exist), NDK_OUT: null (Doesn't Exist), NDK_LIBS_OUT: null (Doesn't Exist) , (Maven? false), (Gradle false), (Using any IML? true), (Using any Default? 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)
We can't find your manifest. I believe this is the problem.
I haven't been able to replicate the issue on my end but as you can see below it is happening for a considerable amount of users.
I have been at it for a long time and I can't figure what is causing this issue.
Any help will be appreciated.
After a minor change I was able to fix this issue. Previously I was initializing Fabric like this:
Fabric.with(this, new Crashlytics.Builder().core(crashlyticsCore).build());
Then I updated it to look like this:
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);
This change fixed the issue for me. But the fabric team should have caught it before me as I already shared how I was initializing fabric with them. The previous code is how fabric was used to be initialized earlier in their docs. They should at the very least deprecate this way of initializing.