我有一个使用firebase来展示广告的应用。问题是有些设备(似乎只是Android 4.4设备)崩溃了。这是崩溃报告:
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 :(得分:0)
这可能是原因:1.Java虚拟机无法在运行时找到在编译时可用的特定类。 2.如果在编译期间存在类,但在运行时期间在java类路径中不可用。
有几种方法可以纠正它。
如果是maven项目,那么在你的pom.xml中添加jar依赖项: 否则将jar添加到项目lib文件夹, 将jar添加到构建配置的类路径
答案 1 :(得分:0)
您使用的是旧版本的库,更新它们并且不使用测试版。此外,如果您不使用gms:播放服务功能,请将其删除。