NoClassDefFoundError: com.google.firebase.FirebaseOptions
J'obtiens toujours le NoClassDefFoundError
sur d'autres appareil de test (4.4.2) que j'utilise. Mais fonctionne très bien sur mon test de l'appareil (Android 5.1).
J'ai essayé les solutions que j'ai cherché sur google et rien ne semble fonctionner.
Je suis l'aide de Firebase en temps réel de la Base de données. Quelqu'un peut-il aider s'il vous plaît?
Voici le log d'erreur:
06-03 01:36:29.607 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseOptions', referenced from method com.google.firebase.FirebaseApp.<init> 06-03 01:36:29.617 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApp$zzb', referenced from method com.google.firebase.FirebaseApp.zzaJ 06-03 01:36:29.621 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApiNotAvailableException', referenced from method com.google.firebase.FirebaseApp.getToken 06-03 01:36:29.629 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApp$zza', referenced from method com.google.firebase.FirebaseApp.zza 06-03 01:36:29.639 2655-2655/mobapps.mypersonal.biz.grouptracker E/AndroidRuntime: FATAL EXCEPTION: main
Process: mobapps.mypersonal.biz.grouptracker, PID: 2655
java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1656)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1627)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:5079)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4653)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4593)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5363)
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:828)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
at dalvik.system.NativeStart.main(Native Method)
source d'informationauteur sirking1991
Vous devez vous connecter pour publier un commentaire.
C'est ce qui a résolu le problème pour moi:
Ajouter compiler com.android.support:multidex:1.0.2' à
app/build.gradle.
Ajouter android:name="android.de soutien.multidex.MultiDexApplication" à la balise application dans AndroidManifest.xml.
Si vous utilisez une Application personnalisée de classe, sautez la
AndroidManifest.xml et de faire votre Demande de classe étendre MultiDexApplication lieu de l'Application.
Ce bug est signalé avec des versions plus récentes pour la plupart autour de la Révision de 28,29 et ses résolus dans les plus récents Play versions donc, si vous rencontrez ce problème, alors assurez-vous que vous avez mis à jour la version de Google Play service dans votre Android studio. comme les anciennes versions ont. Pour mettre à jour Play version..
Suivez ces étapes:
Alors si vous utilisez MultiDex dans votre Application,assurez-vous que vous avez correctement fait.
En vous App niveau de la Construction.Gradle fichier utiliser ce code
multiDexEnabled true
Appliquer MultiDex dépendance dans
dependencies
l'intérieur d'un Même fichier.Puis à l'intérieur de votre AndroidMenifest.xml fichier assurez-vous que Application de la balise de nom de MultiDexApplication.
Note
si vous avez votre propre classe d'Application et que vous utilisez dans votre menifest fichier, puis vous pouvez initialiser multidex dans votre classe d'Application comme suit,
Grâce à TapanHP ci-dessus j'ai eu ce travail rapidement pour moi:
Réponse Courte:
J'avais
multiDexEnabled= true
mis dans monapp/build.gradle
fichier et cela fonctionnait bien sur Android 5.x.x ci-dessus, mais aucun dispositif de test avec 4.x.x (kit kat) lancerait une erreur critique "Malheureusement, YourAppName a arrêté."Débogueur a montré:
Remarque: j'ai aussi une classe personnalisée qui s'étend
Application
.Ma Solution:
Ajouté le code suivant à mon Application personnalisée classe
Pas plus critique crash.
J'ai le même problème, avec ce que j'ai résolu:
https://stackoverflow.com/a/37364044
Vous devez remplacer
android:name=".app"
avecandroid:name="android.support.multidex.MultiDexApplication"