无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider java.lang.ClassNotFoundException

Posted

技术标签:

【中文标题】无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider java.lang.ClassNotFoundException【英文标题】:Unable to get provider com.crashlytics.android.CrashlyticsInitProvider java.lang.ClassNotFoundException 【发布时间】:2018-09-22 15:31:46 【问题描述】:

您好,我使用fabric 进行崩溃,但android 低于5 时遇到问题

错误:

E/AndroidRuntime: 致命异常: main java.lang.RuntimeException:无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider:java.lang.ClassNotFoundException:在路径上找不到类“com.crashlytics.android.CrashlyticsInitProvider”:DexPathList [[zip 文件“/data/ app/ir.adp.picassoapp-2.apk"],nativeLibraryDirectories=[/data/app-lib/ir.adp.picassoapp-2, /vendor/lib, /system/lib, /data/datalib]] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5184) 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4733) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4666) 在 android.app.ActivityThread.access$1300(ActivityThread.java:166) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5455) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:733) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.ClassNotFoundException:在路径上找不到类“com.crashlytics.android.CrashlyticsInitProvider”:DexPathList [[zip file“/data/app/ir.adp.picassoapp-2.apk”],nativeLibraryDirectories =[/data/app-lib/ir.adp.picassoapp-2, /vendor/lib, /system/lib, /data/datalib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:501) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:461) 在 android.app.ActivityThread.installProvider(ActivityThread.java:5169) 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4733) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4666) 在 android.app.ActivityThread.access$1300(ActivityThread.java:166) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5455) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:733) 在 dalvik.system.NativeStart.main(本机方法)

请帮帮我

【问题讨论】:

【参考方案1】:

启用多索引 对于 Android API 21 之前的设备, 包含 multidex 库:

implementation 'com.android.support:multidex:1.0.2'

并在您的应用程序类中扩展 MultiDexApplication

【讨论】:

我该怎么做? defaultConfig应用级gradle中添加multiDexEnabled true【参考方案2】:

将 multidex 库添加到您的应用构建 Gradle 并在 defaultConfig 中启用 multiDex true

compile 'com.android.support:multidex:1.0.1'

【讨论】:

做到了吗? 再次失败 @alimodares,请提供代码你是如何实现的? 打开程序首页前出错。并且由于织物库 在您的应用程序类中包含此代码:onCreateFabric.with(this, new Crashlytics()); ACRA.init(this); 然后尝试

以上是关于无法获取提供程序 com.crashlytics.android.CrashlyticsInitProvider java.lang.ClassNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章

无法解决:com.crashlytics.sdk.android :answers-shim:0.0.3

Crashlytics Android Studio 插件无法初始化

当用户更改首选项时如何在运行时禁用 Crashlytics/Fabric

即时应用架构的 Crashlytics 清单合并问题

没有方法签名:com.crashlytics.tools.gradle.CrashlyticsPlugin On Mac [关闭]

找不到插件 Fabric Android Studio 导入 com.crashlytics & io.fabric