69 votes

Module Dynamite Android Firebase : Échec du chargement du descripteur de module

Depuis la mise à niveau vers la dernière version de Firebase (9.0.0), je n'arrive pas à me débarrasser des deux erreurs suivantes lors de l'authentification d'un utilisateur via signInWithEmailAndPassword() . Quelqu'un a-t-il une idée de ce qui se passe ?

    05-19 18:09:49.245 23550-23589/[PACKAGE] E/DynamiteModule: Failed to load 
    module descriptor class: Didn't find class 
    "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" 
on path: DexPathList[[zip file 
"/data/app/[PACKAGE]-3/base.apk"],nativeLibraryDirectories=
[/data/app/[PACKAGE]-3/lib/x86, /vendor/lib, /system/lib]]

Et

    05-19 18:09:49.252 23550-23550/[PACKAGE] E/FirebaseApp: Firebase API 
initialization failure.java.lang.reflect.InvocationTargetException

      at java.lang.reflect.Method.invoke(Native Method)
      at com.google.firebase.FirebaseApp.zza(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
      at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)

(...)    
Caused by: java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'com.google.firebase.iid.zzg' appears in /data/data/[PACKAGE]/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.0.0_95503dc60ed409569d1585da411de93e6c633bf7-classes.dex)
      at com.google.firebase.iid.zzg.zzeC(Unknown Source)
      at com.google.firebase.iid.zzg.<init>(Unknown Source)
      at com.google.firebase.iid.zzg.<init>(Unknown Source)
      at com.google.firebase.iid.zzd.zzb(Unknown Source)
      at com.google.firebase.iid.FirebaseInstanceId.getInstance(Unknown Source)
      at java.lang.reflect.Method.invoke(Native Method) 
      at com.google.firebase.FirebaseApp.zza(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.zzbu(Unknown Source)  
      at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) 
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) 
      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 

(...)

28voto

Chandra Sekhar Points 6512

J'ai eu le même problème et j'ai trouvé une erreur faite par moi dans ma console Firebase.

L'une des raisons de ce problème pourrait être, votre Méthode de connexion dans Firebase > Auth Dashboard pourrait être désactivé.

Je viens de l'activer et ça a commencé à fonctionner.

11voto

Pouvez-vous vérifier la version de vos services Google Play ?

Depuis la base de données officielle de Firebase site web :

Conditions préalables

  • Un appareil Android fonctionnant Services Google Play 9.0.0 ou plus tard
  • Le SDK des services Google Play à partir du gestionnaire de SDK Android
  • Android Studio 1.5 ou supérieur
  • Un projet Android Studio et son nom de paquet.

3voto

Artyom Okun Points 282

Très triste que les erreurs d'initialisation de Firebase ne sont pas si simples, de sorte que les développeurs doivent deviner ce qui a mal tourné. Dans mon cas, j'ai importé seulement :

compile 'com.google.firebase:firebase-auth:10.2.0'

et j'ai oublié d'importer aussi le noyau :

compile 'com.google.firebase:firebase-core:10.2.0'

Peut-être que cela aidera quelqu'un, bonne chance !

1voto

J'ai trouvé le problème. Le problème était la première condition préalable mentionnée par Guilherme, mais pas la partie en gras Bien que vos dépendances doivent également indiquer explicitement la partie 9.+ des services de jeu, les appareils eux-mêmes doivent également avoir 9.+ installé . Le débogage sur mon téléphone fonctionne bien et la mise à jour de l'image de mon émulateur résout également le problème.

1voto

Bill Mote Points 4926

Désactiver l'exécution instantanée a fonctionné pour moi. Ça semble ridicule, je sais. J'ai essayé de nettoyer le projet. J'ai essayé de désinstaller/réinstaller l'application. Ce qui a finalement marché, c'est la désactivation d'Instant Run. soupir

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X