【问题标题】:java.lang.ClassNotFoundException: Didn't find class "io.fabric.sdk.android.services.common.FirebaseInfo"java.lang.ClassNotFoundException:找不到类“io.fabric.sdk.android.services.common.FirebaseInfo”
【发布时间】:2018-04-04 19:57:04
【问题描述】:

我正在尝试将 Fabric Crashlytics 从 2.6.8 更新为 2.7.1 但是我在这次更新中面临以下崩溃:

10-24 11:38:32.917 11352-11352/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.xxx.yyy, PID: 11352
                                                   java.lang.NoClassDefFoundError: Failed resolution of: Lio/fabric/sdk/android/services/common/FirebaseInfo;
                                                       at com.crashlytics.android.CrashlyticsInitProvider.onCreate(CrashlyticsInitProvider.java:22)
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1919)
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1894)
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:6285)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851)
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772)
                                                       at android.app.ActivityThread.-wrap1(Unknown Source:0)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
                                                       at android.os.Handler.dispatchMessage(Handler.java:105)
                                                       at android.os.Looper.loop(Looper.java:164)
                                                       at android.app.ActivityThread.main(ActivityThread.java:6541)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
                                                    Caused by: java.lang.ClassNotFoundException: Didn't find class "io.fabric.sdk.android.services.common.FirebaseInfo" on path: DexPathList[[zip file "/data/app/com.ezcommerceapp.swiftshopper-_VJvHhv49x3edMWdRjpNxA==/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.sbd_VJvHhv49x3edMWdRjpNxA==/lib/x86, /data/app/com.xxx.sbd_VJvHhv49x3edMWdRjpNxA==/base.apk!/lib/x86, /system/lib, /system/vendor/lib]]
                                                       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                       at com.crashlytics.android.CrashlyticsInitProvider.onCreate(CrashlyticsInitProvider.java:22) 
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1919) 
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1894) 
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:6285) 
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851) 
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772) 
                                                       at android.app.ActivityThread.-wrap1(Unknown Source:0) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:105) 
                                                       at android.os.Looper.loop(Looper.java:164) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:6541) 
                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

在 build.gradle(应用程序)中:

...
compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
    transitive = true
    exclude group: 'com.android.support', module: 'support-annotations'
    exclude group: 'io.fabric.sdk.android', module: 'fabric'
}
...

谁能帮我解决这个问题?

【问题讨论】:

  • 分享你的完整 build.gradle

标签: android google-fabric crashlytics-android


【解决方案1】:

好的.. 删除排除行对我有用:

compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
    transitive = true
    exclude group: 'com.android.support', module: 'support-annotations'
}

【讨论】:

  • 感谢您关闭此循环并帮助社区:)
  • 这对我不起作用。我没有排除线。
  • @MatteoGaggiano 那么您可能也不会遇到同样的错误。
  • @ChintanSoni 当然,但目前我还没有发现任何关于我的问题。在问题中没有提到任何关于android版本的内容,所以我认为问题与此有关。
【解决方案2】:

我通过将Multidex.install() 移动到attachBaseContext(Context base) 来解决此问题。我在ApplicationonCreate() 中有它

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

【讨论】:

  • 也适合我
  • 它对我有用。谢谢
【解决方案3】:

请检查此配置。这个我用过。

在应用 Gradle 中

    apply plugin: 'io.fabric'

    compile('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true;
    }
    compile('com.crashlytics.sdk.android:answers:1.4.1@aar') {
        transitive = true;
    }
    compile('io.fabric.sdk.android:fabric:1.4.1@aar') {
        transitive = true;
    }

项目 Gradle

buildscript {
repositories {
        jcenter()
        mavenLocal()
        maven { url 'https://maven.fabric.io/public' }

    }
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
  }
}

它也对我有用。你可以试试这个

【讨论】:

  • 这是答案,但它是这样形成的,所以看起来像问题。我现在编辑了。
  • 谢谢,伙计。终于节省了我的时间
猜你喜欢
  • 2014-11-28
  • 2021-08-30
  • 2019-05-11
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多