2017-08-13 81 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功能,請將其刪除。

相關問題