Die Standard-FirebaseApp wird nicht initialisiert


234

Wir sehen einige Ausnahmen mit der Meldung Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.in unserer Android-App, in der wir gerade Firebase Remote Config hinzugefügt haben.

Die Stapelverfolgung lautet wie folgt:

Fatal Exception: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.
       at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
       at com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source)
       at com.example.app.fragments.SomeFragment.updateFooter(SourceFile:295)
       at com.example.app.fragments.SomeFragment.onCreateView(SourceFile:205)
       at android.support.v4.app.Fragment.performCreateView(SourceFile:2080)
       at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1108)
       at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1290)
       at android.support.v4.app.BackStackRecord.run(SourceFile:801)
       at android.support.v4.app.FragmentManagerImpl.execSingleAction(SourceFile:1638)
       at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(SourceFile:679)
       at android.support.v4.app.FragmentPagerAdapter.finishUpdate(SourceFile:143)
       at android.support.v4.view.ViewPager.populate(SourceFile:1240)
       at android.support.v4.view.ViewPager.populate(SourceFile:1088)
       at android.support.v4.view.ViewPager.setAdapter(SourceFile:542)
       at com.example.app.SomeActivity.onSomeAsyncCallback(SourceFile:908)
       at com.example.app.SomeDataRetriever.onAsyncHttpCompleted(SourceFile:72)
       at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:141)
       at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:19)
       at android.os.AsyncTask.finish(AsyncTask.java:679)
       at android.os.AsyncTask.access$500(AsyncTask.java:180)
       at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:696)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5665)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)

Dies ist Version 9.6.1 und wir verwenden auch andere Firebase-Komponenten:

compile 'com.google.firebase:firebase-ads:9.6.1'
compile 'com.google.firebase:firebase-config:9.6.1'
compile 'com.google.firebase:firebase-invites:9.6.1'
compile "com.google.firebase:firebase-messaging:9.6.1"

Wie ich aus der Dokumentation und dem Javadoc ersehen kann , sollten wir in unserem Fall keine manuelle Initialisierung durchführen müssen.

Die Ausnahme tritt bei Android 4-6 auf einer Vielzahl von Geräten auf.

Bearbeiten:

Ich sehe, dass diese Frage ein wenig Aufmerksamkeit erhält. Ich denke, diese Erklärung kann für einige von Ihnen interessant sein: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html


1
Versuchen Sie, SO nach "Standard FirebaseApp ist nicht initialisiert" zu suchen. Es gibt viele verschiedene Umstände, die dies verursachen könnten.
Doug Stevenson

Ja habe ich. Ich habe keine mit passenden Umständen gefunden, deshalb frage ich. Hätte das im Q.
Roy Solberg

Können Sie ein minimales Beispiel erstellen, das dieses Problem reproduziert, und das Manifest, build.gradle und Activity anzeigen?
Doug Stevenson

Initialisieren Sie Firebase in einem ContentProvider oder in Ihrer Anwendungsklasse?
Andrew Kelly

2
Ich habe das gleiche Problem bei einem kleinen Prozentsatz der Spieler. Verwenden der neuesten 10.0.1
Dmitry

Antworten:


136

Ich hatte das gleiche Problem vor einiger Zeit.

Sie versuchen, eine Instanz von Firebase abzurufen, ohne sie zu initialisieren. Bitte fügen Sie diese Codezeile hinzu, bevor Sie versuchen, eine Instanz von Firebase abzurufen:

FirebaseApp.initializeApp(this);

3
@ Henrik Nur in ExtendedApplication.onCreate ().
Roy Solberg

5
Nun, das hat bei mir nicht funktioniert (immer noch ein paar Abstürze in der Produktion). Ich werde versuchen, den Init-Code zu meiner ersten Aktivität onCreate () hinzuzufügen.
Sébastien

77
Es ist wichtig zu beachten, dass neben dieser Initialisierung die Google-Dienste wie folgt angewendet werden müssen:apply plugin: 'com.google.gms.google-services'
pamobo0609

2
In welcher Datei muss ich diese MainActivity.java hinzufügen?
Abhit

23
Für mich Version com.google.gms: google-services: 4.1.0 stürzte ab, aber com.google.gms: google-services: 4.0.1 funktionierte
Igor Čordaš

345

Stellen Sie sicher, dass Sie es Ihrem build.gradle auf Stammebene hinzufügen

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.3.2'
    }
}

Fügen Sie dann in Ihrer Gradle-Datei auf Modulebene (normalerweise app / build.gradle) die Zeile "Plugin anwenden" am Ende der Datei hinzu, um das Gradle-Plugin zu aktivieren:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  implementation 'com.google.firebase:firebase-core:9.6.1'
  // Getting a "Could not find" error? Make sure you have
  // the latest Google Repository in the Android SDK manager
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

Wie in der Dokumentation gesagt . Ich hatte eine Ausnahme wie in einer Frage oben, als ich vergaß, diese in meine Gradle-Dateien aufzunehmen.


2
Überprüfen Sie und überprüfen Sie. Ich habe gerade überprüft, ob wir die Gradle-Dateien wie beschrieben haben. Ich sollte erwähnen, dass der Code für viele Benutzer in Ordnung ist .
Roy Solberg

Möglicherweise mischen Sie Ihre Bibliotheksversionen. Ich hatte das gleiche Problem, als ich versuchte, compile zu verwenden 'com.google.firebase:firebase-core:9.8.0' , und wechselte zu compile 'com.google.firebase:firebase-core:9.6.0'meinen anderen Bibliotheken. Ursprüngliche Antwort Sie mischen Firebase SDK-Versionen. wie erklärt
Crakama

3
'Plugin anwenden:' com.google.gms.google-services 'hat bei mir funktioniert.
Rockyfish

7
Hat in meinem Fall nicht geholfen. Und das Problem betrifft einen extrem kleinen Prozentsatz der Spieler. Es ist also höchstwahrscheinlich kein Problem mit dem Code oder den Einstellungen, sondern mit der Interoperabilität mit auf den Geräten des Benutzers installierten Wiedergabediensten :-(
Dmitry

2
danke :) Ich habe vergessen, diese Zeile in build.gradle hinzuzufügen: Plugin anwenden: 'com.google.gms.google-services'
Richi

126

Es scheint, dass google-services:4.1.0das ein Problem hat. Entweder auf "Downgrade"

classpath 'com.google.gms:google-services:4.0.0'

oder aktualisieren Sie es auf

classpath 'com.google.gms:google-services:4.2.0'

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0-alpha08'
    classpath 'com.google.gms:google-services:4.2.0'
    /*classpath 'com.google.gms:google-services:4.1.0' <-- this was the problem */
}

Ich hoffe es hilft


9
Es hat auch bei mir funktioniert. Es scheint, dass es ein Problem mit 4.1.0
iuq

Ich habe gerade auch dieses Problem gefunden und außerdem festgestellt, dass in Android Studio 3.2 bereits ein Update für die Android SDK-Build-Tools (Tools -> SDK-Manager -> SDK-Tools) verfügbar ist. Durch Anwenden dieses Updates kann ich es classpath 'com.google.gms:google-services:4.1.0'erneut verwenden. YMMV.
IainCunningham

2
omg, ich habe buchstäblich mehr als 2 Wochen Zeit damit verbracht, dies zum Laufen zu bringen, und alles, was ich tun musste, war ein Downgrade von 4.1.0 auf 4.0.0?!?!?! Vielen Dank Tonnen
Oliver Spryn

4
laut Problem Tracker wird in 4.2.0
kuelye

Ich habe gerade com.google.gms: google-services: 4.1.0 auf om.google.gms: google-services: 4.0.0 herabgestuft und es funktioniert. Es hat meinen Tag gerettet.
Anil

51

In meiner app / build.gradle- Datei fehlte die folgende Zeile

apply plugin: 'com.google.gms.google-services'

und einmal sauberes Projekt und wieder ausführen. Das hat es für mich behoben.


18
    classpath 'com.google.gms:google-services:4.1.0'

hat ein Problem. Verwenden Sie stattdessen:

    classpath 'com.google.gms:google-services:4.2.0'

15

Als erstes müssen Sie com.google.gms hinzufügen: google-services: xxx auf Root-Ebene build.gradle

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.1'
    classpath 'com.google.gms:google-services:3.0.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}}

Danach müssen Sie das Plugin 'com.google.gms.google-services' unter app / build.gradle anwenden

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'

compile 'com.google.android.gms:play-services-gcm:9.8.0'
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.android.gms:play-services-location:9.8.0'
compile 'com.google.firebase:firebase-messaging:9.8.0'
testCompile 'junit:junit:4.12'
}


apply plugin: 'com.google.gms.google-services'

und wenn Sie immer noch Probleme haben, müssen Sie hinzufügen

FirebaseApp.initializeApp(this);

kurz bevor Sie anrufen

FirebaseInstanceId.getInstance().getToken();

12

Nach dem Aktualisieren verschiedener Abhängigkeiten wurde beim Kompilieren ein Crashlytics-Fehler angezeigt: 'Crashlytics hat einen ungültigen API-Schlüssel gefunden: null. Überprüfen Sie das Crashlytics-Plugin, um sicherzustellen, dass die Anwendung erfolgreich hinzugefügt wurde! Wenden Sie sich an support@fabric.io, um Unterstützung zu erhalten. ' Die einzige nicht automatische Antwort, die ich bei wiederholten Versuchen an support@fabric.io erhielt, war, dass Fabric und Crashlytics separate Teams sind, sodass sie mir nicht helfen konnten. Ich habe es vermieden, die zusätzliche Fabric-Ebene in Crashlytics zu implementieren, und konnte weder einen neuen Schlüssel von der Fabric-Site abrufen noch die Site dazu bringen, mich zu erkennen. Beim Versuch, dies zu umgehen, indem ich nur Crashlytics aus meinem Code entferne, wurde die Meldung "Standard-FirebaseApp wird in diesem Prozess nicht initialisiert" angezeigt. Stellen Sie sicher, dass Sie FirebaseApp.initializeApp (Context) als ersten Absturz während des Laufs aufrufen.

Ich musste die Initialisierungszeile von 'FirebaseApp.initializeApp (this)' nie hinzufügen und hatte sie tatsächlich auskommentiert. In der Dokumentation wird sogar erwähnt, dass dies nicht erforderlich ist, wenn Firebase nur für eine Aktivität verwendet wird. Das Hinzufügen machte keinen Unterschied, bekam immer noch den Fehler beim Töten.

Es stellte sich heraus, dass die aktualisierten Google-Services-Abhängigkeiten die neuen undurchsichtigen Fehler verursachten. Im Moment habe ich keine Zeit mehr, um zu versuchen, die durch die neue Abhängigkeit verursachten Schrotflintenfehler zu beheben. Bis jemand Lösungen findet, bleibe ich bei der alten Version. Neben dem seltsamen Absturz bei der Initialisierung kann die neue Version Crashlytics-Benutzern Fabric aufzwingen. Auch hierfür werden Benutzer auf die alte Abhängigkeitsversion zurückgesetzt: Crashlytics hat einen ungültigen API-Schlüssel gefunden: null. nach der Aktualisierung von com.google.gms: google-services: 4.1.0

com.google.gms:google-services:4.1.0//BAD
com.google.gms:google-services:4.0.1//GOOD

EDIT 17.10.18: Nach erneuter Aktualisierung der folgenden Abhängigkeiten

implementation 'com.google.firebase:firebase-ads:17.0.0'
implementation 'com.google.firebase:firebase-auth:16.0.4'
implementation 'com.google.firebase:firebase-database:16.0.3'
implementation 'com.google.firebase:firebase-core:16.0.4

Beim Installationsversuch mit "xxx wurde unerwartet geschlossen" ist sofort ein Absturz aufgetreten, beispielsweise als ich versucht habe, das Abhängigkeitsupdate für Google Services zu aktualisieren. Beim Durchsuchen des Protokolls fand ich einen Link, der mich anwies, diesen zum Manifest hinzuzufügen

<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxx~xxxxxx"/>

Dies ist neu und wird in den Setup- und Interstitial-Anweisungen hier https://firebase.google.com/docs/android/setup und hier https://developers.google.com/admob/android/interstitial nicht erwähnt .

Früher musste ich mich nur mit einer werbebezogenen ID für meine App befassen, der INTERSTITIAL_UNIT_ID. Jetzt müssen zwei behandelt werden. Neben dem obigen Zusatz wird in der Dokumentation das Hinzufügen von ADMOB_APP_ID hier angewiesen (dieselbe Nummer, die Sie im neuen Manifestcode mit ads.APPLICATION_ID verknüpfen).

MobileAds.initialize(this, ADMOB_APP_ID);

Die IDs INTERSTITIAL_UNIT_ID und ADMOB_APP_ID können in Ihrer Google AdMob-Konsole ausgegraben werden. Meine Spiel-App hat bei meinem ersten Update der Firebase-Abhängigkeiten die Schaltung von Anzeigen eingestellt und liefert immer noch keine Anzeigen, wobei der Fehlercode 0 in angezeigt wird

public void onAdFailedToLoad(int errorCode){...

Selbst nach all dem zusätzlichen Durcheinander kann ich die Abhängigkeit von Google-Diensten immer noch nicht aktualisieren, ohne dass der Absturz beim Initialisierungsfehler auftritt. Ich gehe davon aus, dass ich für einige Zeit bei Google-Services: 4.0.1 stecken bleiben werde.

EDIT 24.10.18: Von mobileadssdk-advisor+support@google.com nach wochenlanger Korrespondenz über das Nichterhalten von Anzeigenschaltungen nach Updates:

'Danke, dass Sie die Geräteprotokolle geteilt haben. Aus den Protokollen geht hervor, dass ein Problem vorliegt. Dies steht auf unserer Prioritätenliste. Unser Team arbeitet an der Korrektur. Dies geschieht nur auf Android O- und P-Geräten. '

Nur O- und P-Geräte? Das sind die letzten beiden Versionen, O erschien am 25. September 2017. Huch.


3
Genau das habe ich auch erlebt. Ich wünschte, Google würde meine App-Builds nicht jedes Mal brechen, wenn sie ein Update veröffentlichen.
Patty P

Hallo, ich bekomme es zum apply plugin: 'com.google.gms.google-services'Laufen , indem ich in meinem build.gradle (mit google-services: 4.1.0)
Nicolas Mauti

10

Wie von @PSIXO in einem Kommentar erwähnt, könnte dies das Problem mit der Abhängigkeitsversion von Google-Diensten sein. Für mich ändern,

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.1.0'
    }
}

zu

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.0.1'
    }
}

Möglicherweise liegt ein Problem mit der Version 4.1.0 vor. Da ich viele Stunden damit verschwendet habe, dachte ich, dies als Antwort zu schreiben.


1
Ja, für mich hat es funktioniert, indem die Build-Version auf 4.0.1 geändert wurde. Es kann ein Abhängigkeitsproblem sein
Abraham Mathew

4
Nachdem alle Versionen auf die neueste Version (4.2.0) aktualisiert wurden, wurde das Problem für mich
behoben

7

Wenn Sie mit FirebaseUI , keine Notwendigkeit von FirebaseApp.initializeApp(this);nach im Code der Probe .

Stellen Sie sicher, dass Sie zu Ihrem build.gradle auf Stammebene hinzufügen:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        ...
        classpath 'com.google.gms:google-services:3.1.1'
        ...
    }
}

Dann in Ihrer Gradle-Datei auf Modulebene :

dependencies {

    ...

    // 1 - Required to init Firebase automatically (THE MAGIC LINE)
    implementation "com.google.firebase:firebase-core:11.6.2"

    // 2 - FirebaseUI for Firebase Auth (Or whatever you need...)
    implementation 'com.firebaseui:firebase-ui-auth:3.1.2'
    ...
}

apply plugin: 'com.google.gms.google-services'

Das ist es. Mehr nicht nötig.


5

Sie müssen die Buildscript-Abhängigkeit von Firebase Gradle in build.gradle (Projektebene) hinzufügen.

classpath 'com.google.gms:google-services:3.1.0'

und fügen Sie das Firebase-Plugin für Gradle in app / build.gradle hinzu

apply plugin: 'com.google.gms.google-services'

build.gradle will include these new dependencies:
    compile 'com.google.firebase:firebase-database:11.0.4'

Quelle: Android Studio Assistant


5

Eine andere mögliche Lösung - probieren Sie ein anderes Android Studio aus, wenn Sie Betas verwenden. Hat mir geholfen. Das neue Android Studio hat Firebase einfach nicht richtig hinzugefügt. In meinem Fall 3.3Vorschau

Nach einigen weiteren Untersuchungen stellte ich fest, dass das Problem darin bestand, dass das neue Android Studio das Projekt mit der neueren Google Services-Version startet und es anscheinend das ursprüngliche Problem war. Als @Ammar Bukhari vorschlug, half diese Änderung:

Klassenpfad 'com.google.gms: google-services: 4.1.0' -> Klassenpfad 'com.google.gms: google-services: 4.0.0'


4

In meinem Fall hat das Google Services-Gradle-Plugin nicht die erforderliche values.xmlDatei aus der google-services.jsonDatei generiert . Die Firebase-Bibliothek verwendet diese generierte Wertedatei, um sich selbst zu initialisieren, und es scheint, dass sie keinen Fehler auslöst, wenn die Wertedatei nicht gefunden werden kann. Überprüfen Sie, ob die Wertedatei am folgenden Speicherort vorhanden ist und mit den entsprechenden Zeichenfolgen aus Ihrer google-sevices.jsonDatei gefüllt ist:

app/build/generated/res/google-services/{build_type}/values/values.xml

und / oder

app/build/generated/res/google-services/{flavor}/{build_type}/xml/global_tracker.xml

Weitere Informationen finden Sie unter: https://developers.google.com/android/guides/google-services-plugin

Mein besonderer Fall wurde durch die Verwendung einer Gradle-Tools-Version verursacht, die für die von mir ausgeführte Version von Android Studio zu fortgeschritten war (dh sicherstellen, dass Sie Grade-Tools v3.2.X-YYY mit Android Studio v3.2 ausführen).


4

Wir müssen nirgendwo manuell anrufenFirebaseApp.initializeApp(this); . und wir sollten auch nicht.

Ich hatte gerade das gleiche Problem und bekam eine unerwartete und seltsame Lösung.

Aus dieser Antwort:

Ich habe entfernt tools:node="replace"und es funktioniert wie Charme.


4

Ich vermute, es gibt Kompatibilitätsprobleme mit der Version von Google-Services und Firebase-Versionen.

Ich habe in der build.gradle-Datei des Projekts die Abhängigkeit geändert

Klassenpfad 'com.google.gms: google-services: 4.1.0' bis 4.2.0

und aktualisierte dann die build.gradle-Abhängigkeiten des Moduls auf:

Implementierung 'com.google.firebase: firebase-database: 16.0.6'

Implementierung 'com.google.firebase: firebase-core: 16.0.7'

Alles funktioniert wie ein Zauber, Sie müssen FirebaseApp.initializeApp (this) nicht eingeben.


Ich löse mein Problem nach dem Downgrade von 'com.google.firebase: firebase-core: 16.0.8' auf 'com.google.firebase: firebase-core: 16.0.7', danke
Nanda Z

3

Grund dafür ist com.google.gms: google-services version. Als ich 4.1.0 verwendete , trat der gleiche Fehler auf. Dann stufe ich die Version herunter. Vor

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.1.0'

Nach dem

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:3.2.0'

Hoffe, es wird den Fehler beheben.


3

Wenn Sie kürzlich Ihr Android Studio auf 3.3.1 aktualisiert haben, bei dem ein Problem mit den Abhängigkeiten von com.google.gms: google-services (unter 4.2.0) auftritt, aktualisieren Sie com.google.gms: google-services auf 4.2.0.

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath 'com.google.gms:google-services:4.2.0'
    }

3

Einer der Gründe dafür könnte darin bestehen, das Hinzufügen von android.permission.INTERNETBerechtigungen in zu vergessenAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

2

Für mich war es ein Upgrade der Abhängigkeiten von com.google.gms: google-services in build.gradle auf

buildscript {
repositories {
    jcenter()
    mavenCentral()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'
    classpath 'com.google.gms:google-services:4.2.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

0

Obwohl das manuelle Initialisieren von Firebase mit FirebaseApp.initializeApp(this);das Verschwinden des Fehlers behebt, behebt es nicht die Grundursache. Einige seltsame Probleme scheinen nicht gelöst zu sein, wie z

  • FCM erfordert eine com.google.android.c2dm.permission.RECEIVEBerechtigung, die nur für GCM gilt
  • Das Token wird nach der ersten gesendeten Benachrichtigung nicht mehr registriert
  • Nachricht nicht empfangen / onMessageReceived () wird nie aufgerufen,

Verwenden Sie ein neueres Gradle-Plugin (z. B. Android-Plugin 2.2.3 und Gradle 2.14.1), um alles zu beheben. (Natürlich muss das Setup gemäß der Firebase-Dokumentation korrekt sein. )


Whoa, das sind einige interessante Informationen. Angesichts des Problems mit so wenigen Menschen ist es schwer zu sagen, ob wir etwas davon gesehen haben. Vielleicht sollten wir versuchen, es erneut zu entfernen und die neueren Gradle-Versionen zu verwenden.
Roy Solberg

0

Mein Problem wurde mit diesem Verfahren nicht gelöst

FirebaseApp.initializeApp(this); 

Also habe ich etwas anderes ausprobiert und jetzt wurde meine Feuerbasis erfolgreich initialisiert. Versuchen Sie, Folgendes in app module.gradle hinzuzufügen

BuildScript{
dependencies {..
classpath : "com.google.firebase:firebase-plugins:1.1.5"
    ..}
}

dependencies {...
implementation : "com.google.firebase:firebase-perf:16.1.0"
implementation : "com.google.firebase:firebase-core:16.0.3"
..}

0

Klicken Sie auf Extras> Firebase, um das Assistentenfenster zu öffnen.

Klicken Sie auf, um eine der aufgelisteten Funktionen zu erweitern (z. B. Analytics), und klicken Sie dann auf den bereitgestellten Link zum Lernprogramm (z. B. Protokollieren eines Analytics-Ereignisses).

Klicken Sie auf die Schaltfläche Mit Firebase verbinden, um eine Verbindung zu Firebase herzustellen und der App den erforderlichen Code hinzuzufügen.

https://firebase.google.com/docs/android/setup


0

Installierte Firebase über Android Studio Tools ... Firebase ...

Ich habe die Installation über die integrierten Tools von Android Studio durchgeführt (gemäß den neuesten Dokumenten von Firebase). Dadurch wurden die grundlegenden Abhängigkeiten installiert, aber als ich versuchte, eine Verbindung zur Datenbank herzustellen, gab es immer den Fehler, den ich zuerst beim Initialisieren aufrufen musste, obwohl ich:

Die Standard-FirebaseApp wird in diesem Prozess nicht initialisiert. Stellen Sie sicher, dass Sie zuerst FirebaseApp.initializeApp (Context) aufrufen.

Ich habe diesen Fehler bekommen, egal was ich getan habe.

Nachdem ich einen Kommentar in einer der anderen Antworten gesehen hatte, änderte ich Folgendes in meinem Gradle von Version 4.1.0 in:

classpath 'com.google.gms:google-services:4.0.1'

Als ich das tat, sah ich endlich einen Fehler, der mir half:

Die Datei google-services.json fehlt. Das Google Services Plugin kann ohne es nicht funktionieren. Gesuchter Speicherort: C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ debug \ google-services.json
C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ nullnull \ google-services.json
C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ google-services.json
C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ google- services.json
C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnullDebug \ google-services.json
C: \ Benutzer \% Benutzername% \ AndroidStudioProjects \ TxtFwd \ app \ google-services.json

Das ist das Problem. Es scheint, dass die Version 4.1.0 diesen Build-Fehler aus irgendeinem Grund nicht ausgibt - erwähnt nicht, dass eine Datei google-services.json fehlt. Ich habe die Datei google-services.json nicht in meiner App, also habe ich sie hinzugefügt.

Da es sich jedoch um ein Upgrade handelte, bei dem eine vorhandene Echtzeit-Firsbase-Datenbank verwendet wurde, musste ich diese Datei in der Vergangenheit nie generieren. Ich ging zu Firebase und generierte es und fügte es hinzu und es behebte das Problem.

Zurück zu 4.1.0 geändert

Nachdem ich all dies entdeckt hatte, änderte ich die Klassenpfadvariable zurück (auf 4.1.0) und baute sie neu auf. Sie stürzte erneut mit dem Fehler ab, dass sie nicht initialisiert wurde.

Grundprobleme

  • Wenn Sie mit 4.1.0 erstellen, erhalten Sie beim Vorkompilieren keinen gültigen Fehler, sodass Sie möglicherweise nicht wissen, was gerade passiert.
  • Das Ausführen von 4.1.0 verursacht den Initialisierungsfehler.

0

Verwenden Sie com.google.gms: google-services: 4.0.1 'anstelle von 4.1.0


0

Ändern

classpath 'com.google.gms:google-services:4.1.0'

zu

classpath 'com.google.gms:google-services:4.0.1'

Funktioniert bei mir


Die Verwendung der folgenden neuesten Versionen hat mir geholfen, das Problem zu beheben. Kein Downgrade erforderlich :) Klassenpfad 'com.android.tools.build:gradle:3.4.2' Klassenpfad 'com.google.gms: google-services: 4.3.0'
Granat

0

Wenn Sie der Antwort von @Gabriel Lidenor folgen, funktioniert das Initialisieren der App mit dem Kontext in meinem Fall nicht. Was ist, wenn Sie versuchen, eine Firebase-App ohne google-service.json zu erstellen? Bevor Sie also eine beliebige Anzahl von Firebase-Apps initialisieren, müssen Sie zunächst Folgendes initialisieren:

FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("APP_ID")
                    .setGcmSenderId("SENDER_ID").build();
FirebaseApp.initializeApp(context, options, "[DEFAULT]");

-1

Wir müssen Firebase in der onCreate-Funktion der Anwendungsklasse initialisieren.

 package com.rocks.music.videoplayer;

 import android.app.Application;
 import android.content.Context;

 import com.google.firebase.FirebaseApp;


/**
* Created by ashish123 on 22/8/15.
  */
 public class MyApplication extends Application {

private static MyApplication mInstance;

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;
    try {
        FirebaseApp.initializeApp(this);
    }
    catch (Exception e) {
    }
}

public static Context getInstance() {
    return mInstance;
}

}}

Code in der Manifestdatei: -

  <application
    android:name="com.rocks.music.videoplayer.MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

-1

Grund und Lösung: Dies ist der häufigste Fehler, den Sie die meiste Zeit erhalten. Grund: Wenn Sie Ihr Projekt in die Firebase integrieren, werden die Abhängigkeiten hinzugefügt

implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'

und Klassenpfad

classpath 'com.google.gms:google-services:4.1.0'

Sie müssen sie nur aktualisieren

So können Sie aktualisieren

gehe zu gradle sript und mache das

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.