2017-08-13 10 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) 

私はエラーが私の依存関係のいくつかのバージョンで行う必要があり推測:ここではクラッシュレポートです。任意のヒントが参考になる

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' 
} 

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

そして、私のアプリのGradle:

はここでトップレベルのGradleで依存関係です!前もって感謝します!

答えて

0

これらの理由が考えられます。1.Java Virtual Machineは、実行時にコンパイル時に利用可能な特定のクラスを見つけることができません。 2.クラスがコンパイル時に存在し、実行時にJavaクラスパスで使用できない場合。

いくつかの方法で修正できます。

それは、Mavenのプロジェクトは、あなたののpom.xmlにjarファイルの依存関係を追加している場合:他 、 libフォルダをプロジェクトあなたはライブラリの非常に古いバージョンを使用している

0

ビルド構成からクラスパスにjarファイルを追加するためにjarファイルを追加それらをすべて更新し、ベータ版を使用しないでください。また、gms:play-services機能を使用していない場合は削除してください。