webentwicklung-frage-antwort-db.com.de

Android Firebase DynamiteModule: Fehler beim Laden der Modulbeschreibung

Seit dem Upgrade auf die neueste Version von Firebase (9.0.0) kann ich die folgenden zwei Fehler bei der Authentifizierung eines Benutzers über signInWithEmailAndPassword() nicht beseitigen. Hat jemand eine Idee was los ist?

    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]]

Und

    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) 

(...)
69

Können Sie Ihre Google Play Services-Version überprüfen?

Aus Firebase oficial Website :

Voraussetzungen

  • Ein Android Gerät, auf dem Google Play-Dienste 9.0.0 oder höher ausgeführt werden
  • Das SDK für Google Play-Dienste aus dem Android SDK-Manager
  • Android Studio 1.5 oder höher
  • Ein Android Studio-Projekt und sein Paketname.

Ich hatte das gleiche Problem und fand einen Fehler in meiner Firebase-Konsole.

Einer der Gründe für dieses Problem könnte sein, dass Ihre Anmeldemethode in Firebase> Auth Dashboard deaktiviert ist.

Ich habe es gerade aktiviert und es fing an zu funktionieren.

28
Chandra Sekhar

Sehr schade, dass Firebase-Initialisierungsfehler so unkompliziert sind, dass Entwickler raten müssen, was schief gelaufen ist. In meinem Fall habe ich nur importiert:

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

und vergessen, auch Kern zu importieren:

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

Vielleicht hilft es jemandem, viel Glück!

3
Artyom Okun

Ich habe mich abgemeldet und dann angemeldet und das Problem für mich gelöst.

Vermutlich haben sich aus irgendeiner Art von Synchronisation die FB-Sachen nicht implementiert.

Wenn dieses Problem besteht, werde ich versuchen, es abzufangen. Aber wirklich, das ist ein Fehler im Firebase-System. Und es ist ein Fehler, der durch mehr als einen Anwendungsfall verursacht wird, was ein weiteres Problem für sich ist.

1
sivi

Ich habe das Problem gefunden. Das Problem war die erste erwähnte Voraussetzung für Guilherme, aber nicht der fettgedruckte Teil. Obwohl Ihre Abhängigkeiten auch ausdrücklich 9. + des Abspieldienst-Teils angeben müssen, auf den Geräten selbst muss auch 9. + installiert sein =. Das Debuggen auf meinem Telefon funktioniert einwandfrei, und das Aktualisieren des Abbilds meines Emulators behebt das Problem auch dort.

Das Deaktivieren von Instant Run hat bei mir funktioniert. Klingt lächerlich, ich weiß. Ich habe versucht, das Projekt zu säubern. Ich habe versucht, die App zu deinstallieren/neu zu installieren. Die Sache, die schließlich den Trick machte, war die Deaktivierung von Instant Run. Seufzer

1
Bill Mote

Diese Antwort auf eine andere Frage hat meine App authentifiziert

Alfonso Gomez Jordana Manas

Hallo Pierre,

Sie müssen Ihre vorhandenen Google OAuth 2.0-Client-IDs in der Firebase-Konsole manuell auf die Whitelist setzen, bevor Sie sie mit den neuen Auth-APIs verwenden können.

Gehen Sie dazu folgendermaßen vor

  • Wechseln Sie zum Abschnitt Anmeldeinformationen in der Google API-Konsole.
  • Wählen Sie oben rechts das Projekt aus, für das Sie zuvor Google Sign-In konfiguriert haben.
  • Gehen Sie zum Abschnitt OAuth 2.0-Client-IDs. Wenn Sie Google Sign-In für Android oder iOS-Anwendungen verwenden: Notieren Sie sich die allen entsprechende Client-ID-Zeichenfolge die für Ihre Bewerbung registrierten Einträge.
  • Geben Sie diese Client-IDs in die Konfiguration Ihres Firebase-Projekts ein:
  • Rufen Sie die Firebase-Konsole unter https://console.firebase.google.com auf
  • Öffnen Sie den Abschnitt Auth

    Öffnen Sie unter Anmeldemethoden die Google-Konfiguration, und fügen Sie alle Ihre Kunden-IDs zur Positivliste der Kunden-IDs aus externen Projekten hinzu. Wenn Sie Google Sign-In für eine Webanwendung verwenden: Klicken Sie hier, um Ihre Web-Client-ID zu öffnen und sich sowohl die Client-ID als auch das Geheimnis zu merken. Geben Sie diese Client-ID in die Konfiguration Ihres Firebase-Projekts ein: Gehen Sie zur Firebase-Konsole unter https://console.firebase.google.com Öffnen Sie den Abschnitt Auth. Öffnen Sie unter Anmeldemethoden die Google-Konfiguration und Fügen Sie die Werte im Abschnitt Web SDK-Konfiguration hinzu.

Lassen Sie mich wissen, ob dies Ihr Problem löst.

0
Gustav Larsson

Meine Erfahrungen teilen: Ich hatte das gleiche Problem, habe überall gegoogelt, konnte aber keine genaue Antwort finden, selbst wenn ich alles gemäß der Dokumentation zu Google Android getan habe. Plötzlich nach einem Tag funktionierte meine App einwandfrei und im selben Moment erhielt ich von Google die E-Mail mit dem Hinweis "Google APIs Explorer mit Ihrem Google-Konto verbunden". Und für mich nimmt Google einige Zeit in Anspruch, um uns Zugriff zu gewähren. Warten Sie einfach auf diese E-Mail. Vielleicht hängt dieses Problem nicht mit fehlerhaftem Code zusammen.

0
Django

Ich hatte ein ähnliches Problem mit der Anmeldung des Benutzers, fand aber schließlich eine funktionierende Lösung.

Deinstalliere das HAXM und installiere es erneut behebt mein Problem und es meldet den Benutzer erfolgreich bei firebase auth an :)

0
Farrukh Faizy

Wenn Sie nur die Firebase-Authentifizierung verwenden möchten und aufgrund des Fehlers hierher gekommen sind:

Die Klasse "com.google.Android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" wurde nicht gefunden.

Rufen Sie https://console.firebase.google.com/project/ [Ihr Projekt] /authentication/providers und auf Aktivieren Sie die von Ihnen unterstützten Authentifizierungsanbieter.

0
TouchBoarder

wenn Sie alles tun, aber nichts erhalten, versuchen Sie, Ihr ARM EABI zu aktualisieren.

Google APIs ARM EABI v7a System Image

Wenn Ihr Emulator keine neuen Brillen-Updates hat, erhalten Sie immer einen Authentifizierungsfehler.

Tun Sie alles, was in diesem Beitrag vorgeschlagen wird, und aktualisieren Sie dann das ARM= EABI-Image. Dies hat mein Problem gelöst.

0
Kaloglu

Dies kann auch vorkommen, wenn Sie die SHA1-Fingerabdrücke nicht in Firebase und in der Google-API registriert haben. Dort müssen in beiden zwei Fingerabdrücke registriert werden: aus dem Debug-Keystore und aus dem Produktions-Keystore (generiert, wenn Sie das Projekt-Apk zum ersten Mal erstellen, wenn Sie einige Kennwortschlüssel in Android Studio) eingeben. .

hier zeigt, wie man den SHA1 von dort bekommt.

oder führen Sie diesen Befehl auf C:\Users\<user name>\.Android Verzeichnis.

keytool -list -v -keystore debug.keystore
0
Rinaldi Segecin

Sie können beim Hinzufügen einer Google-Anmeldeoption auschecken, bevor wir verwenden

GoogleSignInOptions gso = new GoogleSignInOptions
                    .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestEmail()
                    .build();

fügen Sie eine Zeile hinzu, wie im folgenden Code gezeigt

GoogleSignInOptions gso = new GoogleSignInOptions
                .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestEmail()
                .build();

nach dem Hinzufügen dieser, wenn Sie den Fehler wie erhalten

An internal error has occured. [ Invalid Idp Response: id_token audience mismatch. ]

dann klick hier um lösung zu bekommen funktioniert das bei mir.

0
K K