2017-08-13 51 views
0

我有一个使用Firebase显示广告的应用。问题是有些设备(似乎只有Android 4.4设备)崩溃。这里是崩溃报告:使用firebase时Android应用错误java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError: 
    at com.google.firebase.FirebaseApp.initializeApp (Unknown Source) 
    at com.google.firebase.provider.FirebaseInitProvider.onCreate (Unknown Source) 
    at android.content.ContentProvider.attachInfo (ContentProvider.java:1591) 
    at android.content.ContentProvider.attachInfo (ContentProvider.java:1562) 
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo (Unknown Source) 
    at android.app.ActivityThread.installProvider (ActivityThread.java:5035) 
    at android.app.ActivityThread.installContentProviders (ActivityThread.java:4627) 
    at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4567) 
    at android.app.ActivityThread.access$1800 (ActivityThread.java:138) 
    at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1299) 
    at android.os.Handler.dispatchMessage (Handler.java:102) 
    at android.os.Looper.loop (Looper.java:136) 
    at android.app.ActivityThread.main (ActivityThread.java:5262) 
    at java.lang.reflect.Method.invokeNative (Native Method) 
    at java.lang.reflect.Method.invoke (Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:851) 
    at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:667) 
    at dalvik.system.NativeStart.main (Native Method) 

我想这个错误可能与我的一些依赖的版本有关。

这里的依赖性在顶级gradle这个:

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.3' 
    classpath 'com.google.gms:google-services:1.3.0-beta1' 
} 

而且我的应用程序的gradle产出:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.google.firebase:firebase-ads:9.4.0' 
    compile 'com.google.android.gms:play-services:9.6.0' 
} 

任何提示将是有益的!提前致谢!

回答

0

这些可能是原因:1. Java虚拟机无法在运行时找到一个特定的类,它在编译时可用。 2.如果一个类在编译期间存在,但在运行时在java classpath中不可用。

有几种方法可以纠正它。

如果是Maven项目然后添加在你的pom.xml JAR依赖: 别的坛子添加到项目lib文件夹, 罐子从构建配置

0

您正在使用图书馆的非常旧版本添加到类路径,全部更新它们,不要使用测试版。而且,如果您不使用gms:play-services功能,请将其删除。

相关问题