Verwenden Sie Firebase Crash Reporting? Sie könnten diesen Fehler deswegen treffen, wenn es einen Hintergrundprozess und nicht den Hauptprozess trifft.
Absturzberichte erstellt einen zweiten Prozess (background_crash
), um Abstürze zu senden. Leider teilen alle Prozesse in einer Android App eine gemeinsame Application
Unterklasse, so dass Ihre onCreate
Methode auch im Hintergrundprozess ausgeführt wird. Das versucht die Datenbank zu initialisieren, was fehlschlägt.
Die Lösung besteht darin, sicherzustellen, dass der Datenbankaufruf nur ausgeführt wird, wenn Firebase ordnungsgemäß konfiguriert ist (was im Hauptprozess sein wird). Sie können dies wie folgt überprüfen:
@Override
public void onCreate() {
super.onCreate();
if (!FirebaseApp.getApps(this).isEmpty()) {
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}
Haben Sie das Firebase-Projekt mit Ihrem Paketnamen erstellt und laden Sie die Datei google-services.json herunter? –
Ja, ich habe .. infact funktioniert meine App ohne Einstellung der Festplattenperferenzen richtig. Wenn ich versuche, Dispergierbarkeit in meiner Anwendungsklasse zu aktivieren, wie in den Dokumenten hier ... https://firebase.google.com/support/guides/firebase-android#get_a_database_reference_numbered ... erwähnt, schlägt mein Code fehl –
Bekanntes Problem: https: //firebase.google.com/docs/crash/android#known-issues –