FirebaseApp predefinito non è inizializzato


236

Stiamo vedendo alcune eccezioni con il messaggio Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.nella nostra app Android in cui abbiamo appena aggiunto Firebase Remote Config.

La traccia dello stack è la seguente:

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)

Questa è la versione 9.6.1 e stiamo usando anche altri componenti Firebase:

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"

Come posso vedere dalla documentazione e dal Javadoc , nel nostro caso non dovremmo fare alcuna inizializzazione manuale.

L'eccezione si verifica su Android 4-6 su una varietà di dispositivi.

Modificare:

Vedo che questa domanda attira un po 'di attenzione. Penso che questa spiegazione possa essere interessante per alcuni di voi: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html


1
Prova a cercare SO "FirebaseApp predefinito non è inizializzato". Ci sono molte diverse circostanze che potrebbero causare questo.
Doug Stevenson,

Si Io ho. Non ho trovato nessuno con circostanze corrispondenti, quindi è per questo che sto chiedendo. Avrei potuto dirlo nel Q.
Roy Solberg,

Sei in grado di produrre un esempio minimo per riprodurre questo problema e mostrare manifest, build.gradle e Activity?
Doug Stevenson,

Inizializzi Firebase in un ContentProvider o nella tua classe di applicazione?
Andrew Kelly,

2
Riscontro lo stesso problema per una piccola percentuale di giocatori. Utilizzando l'ultimo 10.0.1
Dmitry

Risposte:


136

Ho avuto lo stesso problema qualche tempo fa.

Stai cercando di ottenere un'istanza di Firebase senza inizializzarla. Aggiungi questa riga di codice prima di provare a ottenere un'istanza di Firebase:

FirebaseApp.initializeApp(this);

3
@Henrik Solo in ExtendedApplication.onCreate ().
Roy Solberg,

5
Bene, questo non ha funzionato per me (ancora alcuni arresti anomali nella produzione). Proverò ad aggiungere il codice di inizializzazione alla mia prima attività onCreate ().
Sébastien,

77
È importante notare che oltre a questa inizializzazione, i servizi Google devono essere applicati come segue:apply plugin: 'com.google.gms.google-services'
pamobo0609

2
in quale file devo aggiungere questo MainActivity.java?
circa il

23
Per me versione com.google.gms: google-services: 4.1.0 andava in crash ma com.google.gms: google-services: 4.0.1 funzionava
Igor Čordaš

346

Assicurati di aggiungere al tuo build.gradle a livello di root

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

Quindi, nel tuo file Gradle a livello di modulo (di solito l'app / build.gradle), aggiungi la riga 'applica plug-in' nella parte inferiore del file per abilitare il plug-in Gradle:

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'

Come detto nella documentazione . Ho avuto un'eccezione come in una domanda sopra quando ho dimenticato di aggiungere questo nei miei file Gradle.


2
Controlla e controlla. Ho appena verificato che abbiamo i file Gradle come descritto. Devo dire che il codice funziona bene per molti utenti.
Roy Solberg,

3
"applica plug-in:" com.google.gms.google-services "ha funzionato per me.
Rockyfish,

7
Non ha aiutato nel mio caso. E il problema riguarda una percentuale estremamente piccola di giocatori. Quindi, molto probabilmente non è un problema con il codice o le impostazioni, ma con l'interoperabilità con i servizi di gioco installati sui dispositivi dell'utente :-(
Dmitry

2
grazie :) Ho dimenticato di aggiungere questa riga in build.gradle: applica il plug-in: "com.google.gms.google-services"
Richi

1
Superba .. ottima analisi
Sandip Wankhede

126

Sembra che google-services:4.1.0abbia un problema. O esegui il downgrade a

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

o aggiornalo a

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 */
}

Spero che sia d'aiuto


9
Ha funzionato anche per me. Sembra che ci sia qualche problema con 4.1.0
iuq

Ho appena riscontrato anche questo problema e ho anche scoperto che era già disponibile un aggiornamento in Android Studio 3.2 per Android SDK Build-Tools (Strumenti -> SDK Manager -> SDK Tools), l'applicazione di questo aggiornamento mi consente di classpath 'com.google.gms:google-services:4.1.0'riutilizzarlo. YMMV.
IainCunningham,

2
Oh mio Dio, ho impiegato letteralmente più di 2 settimane per farlo funzionare, e tutto ciò che dovevo fare era il downgrade dalla 4.1.0 alla 4.0.0?!?!?! Grazie mille
Oliver Spryn,

4
in base al problema, il tracker verrà corretto in 4.2.0
kuelye il

Ho appena eseguito il downgrade di com.google.gms: google-services: 4.1.0 a om.google.gms: google-services: 4.0.0 e funziona. Mi ha salvato la giornata.
Anil,

51

Mi mancava la riga di seguito nel mio file app / build.gradle

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

e una volta ripulito il progetto ed eseguirlo di nuovo. Ciò ha risolto il problema per me.


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

ha un problema. invece usa:

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

15

Per prima cosa devi aggiungere com.google.gms: google-services: xxx a livello di root 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
}

}

Successivamente è necessario applicare il plug-in: "com.google.gms.google-services" su app / build.gradle

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'

e se stai ancora riscontrando problemi, devi aggiungere

FirebaseApp.initializeApp(this);

appena prima di chiamare

FirebaseInstanceId.getInstance().getToken();

12

Dopo aver aggiornato varie dipendenze ho riscontrato un errore Crashlytics nella compilazione, "Crashlytics ha trovato una chiave API non valida: null. Controlla il plug-in Crashlytics per assicurarti che l'applicazione sia stata aggiunta correttamente! Contatta support@fabric.io per assistenza. ' L'unica risposta non automatica che ho ricevuto dai ripetuti tentativi di support@fabric.io a cui l'errore ti dirige è stato che Fabric e Crashlytics sono squadre separate, quindi non potevano aiutarmi. Ho evitato di implementare il livello Fabric aggiuntivo in Crashlytics e non sono stato in grado di ottenere una nuova chiave dal sito Fabric o persino di farmi riconoscere dal sito. Nel tentativo di aggirare il problema semplicemente rimuovendo Crashlytics dal mio codice, ho ottenuto che FirebaseApp predefinito non è inizializzato in questo processo com.example.app. Assicurati di chiamare FirebaseApp.initializeApp (Context) prima 'crash in esecuzione.

Non ho mai dovuto aggiungere la riga di inizializzazione di "FirebaseApp.initializeApp (this)", e in effetti l'aveva commentata. La documentazione menziona anche il fatto di non averne bisogno se si utilizza Firebase solo per un'attività. Aggiungendolo non faceva alcuna differenza, otteneva ancora l'errore di uccisione della corsa.

Si scopre che ciò che stava causando i nuovi errori oscuri era la dipendenza aggiornata di Google Services. Per ora non ho tempo per passare più giorni a cercare di correggere gli errori del fucile da caccia che la nuova dipendenza sta causando, quindi fino a quando qualcuno non troverà soluzioni rimarrò fedele alla vecchia versione. Oltre allo strano crash di inizializzazione, la nuova versione potrebbe forzare gli utenti di Fabric su Crashlytics. Anche per questo gli utenti sono costretti a tornare alla vecchia versione di dipendenza: Crashlytics ha trovato una chiave API non valida: null. dopo l'aggiornamento 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

MODIFICA 17/10/18: dopo aver aggiornato nuovamente le seguenti dipendenze

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

Ho avuto un arresto immediato nel tentativo di installazione con "xxx si è inaspettatamente chiuso", come quando ho tentato l'aggiornamento della dipendenza da servizi Google. Scavando nel registro ho trovato un link che mi indirizzava per aggiungere questo al manifest

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

Questo è nuovo e non è menzionato nelle istruzioni di installazione e interstitial qui https://firebase.google.com/docs/android/setup e qui https://developers.google.com/admob/android/interstitial .

Prima dovevo gestire un solo ID relativo alla pubblicità per la mia app, INTERSTITIAL_UNIT_ID. Ora due devono essere affrontati. Oltre all'aggiunta precedente, la documentazione indica l'aggiunta di ADMOB_APP_ID qui (lo stesso numero associato a ads.APPLICATION_ID nel nuovo codice manifest)

MobileAds.initialize(this, ADMOB_APP_ID);

Gli ID INTERSTITIAL_UNIT_ID e ADMOB_APP_ID possono essere recuperati nella tua console di Google AdMob. La mia app di gioco ha smesso di pubblicare annunci al mio primo aggiornamento delle dipendenze della base di fuoco e continua a non pubblicare annunci, fornendo il codice di errore 0 nella

public void onAdFailedToLoad(int errorCode){...

Anche dopo tutto questo disordine aggiunto, non riesco ancora ad aggiornare la dipendenza dei servizi Google senza l'errore di inizializzazione dell'arresto anomalo. Mi aspetto di rimanere bloccato su google-services: 4.0.1 per qualche tempo.

MODIFICA 24/10/18: Da mobileadssdk-advisor+support@google.com dopo settimane di corrispondenza sulla mancata pubblicazione degli annunci dopo gli aggiornamenti:

'Grazie per aver condiviso i registri del dispositivo. Dai registri, sembra un problema esistente e questo è nel nostro elenco di priorità e il nostro team sta lavorando sulla correzione e questo accade solo su dispositivi Android O e P. "

Solo dispositivi O e P? Sono le ultime due versioni, O è uscito il 25 settembre 2017. Yikes.


3
Ho sperimentato esattamente anche questo. Vorrei che Google non infrangesse le build delle mie app ogni volta che inviano un aggiornamento.
Patty P

Ciao, riesco a farlo aggiungendo apply plugin: 'com.google.gms.google-services'nel mio build.gradle (con google-services: 4.1.0)
Nicolas Mauti,

10

Come menzionato da @PSIXO in un commento, questo potrebbe essere il problema con la versione di dipendenza di google-services. Per me cambiando,

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

per

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

funzionato. Potrebbe esserci qualche problema con la versione 4.1.0. Perché ho sprecato molte ore su questo, ho pensato di scrivere questo come una risposta.


1
sì, per me ha funzionato cambiando la versione di build in 4.0.1. Potrebbe trattarsi di un problema di dipendenza
Abraham Mathew,

4
Dopo aver aggiornato tutte le versioni alla versione più recente (4.2.0), ciò ha risolto il problema per me
david72,

7

Se si utilizza FirebaseUI , non c'è bisogno di FirebaseApp.initializeApp(this);nel codice secondo il campione .

Assicurati di aggiungere al tuo build.gradle a livello di root:

buildscript {

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

Quindi, nel tuo file Gradle a livello di modulo :

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'

Questo è tutto. Non serve altro.


5

È necessario aggiungere la dipendenza buildscript di Firebase Gradle in build.gradle (a livello di progetto)

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

e aggiungi il plugin Firebase per Gradle in app / build.gradle

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

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

Fonte: Android Studio Assistant


5

Un'altra possibile soluzione: prova Android Studio diverso se stai utilizzando alcuni beta. Aiutato per me Il nuovo Android Studio semplicemente non ha aggiunto correttamente Firebase. Nel mio caso 3.3preview

Dopo alcune ulteriori indagini, ho scoperto che il problema era che il nuovo studio Android inizia il progetto con la versione più recente dei servizi Google e sembra che sia stato il problema originale. Come suggerito da @Ammar Bukhari questa modifica ha aiutato:

percorso di classe "com.google.gms: google-services: 4.1.0" -> percorso di classe "com.google.gms: google-services: 4.0.0"


4

Nel mio caso, il plug-in gradle di Google Services non stava generando il values.xmlfile richiesto dal google-services.jsonfile. La libreria Firebase utilizza questo file di valori generato per inizializzarsi e sembra che non generi un errore se non è possibile trovare il file di valori. Verifica che il file dei valori esista nel seguente percorso e sia popolato con le stringhe appropriate dal tuo google-sevices.jsonfile:

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

e / o

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

Per maggiori dettagli, consultare: https://developers.google.com/android/guides/google-services-plugin

Il mio caso particolare è stato causato dall'utilizzo di una versione degli strumenti di livello che era troppo avanzata per la versione di Android Studio che stavo eseguendo (ovvero assicurati di eseguire gli strumenti di livello v3.2.X-YYY con Android Studio v3.2).


4

Non abbiamo bisogno di chiamareFirebaseApp.initializeApp(this); manualmente da nessuna parte. e non dovremmo anche noi.

Ho appena affrontato lo stesso problema e ho ottenuto una soluzione inaspettata e strana.

Da questa risposta:

Ho rimosso tools:node="replace"e funziona come un fascino.


4

Immagino che ci siano problemi di compatibilità con la versione di Google Services e le versioni Firebase.

Ho modificato il file build.gradle del progetto, la dipendenza

percorso di classe "com.google.gms: google-services: da 4.1.0" a 4.2.0

e quindi aggiornato le dipendenze build.gradle del modulo per:

implementazione "com.google.firebase: firebase-database: 16.0.6"

implementazione "com.google.firebase: firebase-core: 16.0.7"

Tutto funziona come un incantesimo, non è necessario digitare FirebaseApp.initializeApp (questo);


risolvo il mio problema dopo il downgrade di "com.google.firebase: firebase-core: 16.0.8" a "com.google.firebase: firebase-core: 16.0.7", grazie
Nanda Z

3

Il motivo per cui ciò accade è com.google.gms: versione google-services. Quando stavo usando la 4.1.0 , ho riscontrato lo stesso errore. Quindi eseguo il downgrade della versione. Prima

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

Dopo

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

Spero che risolverà l'errore.


3

Se di recente aggiorni Android Studio alla versione 3.3.1 che presenta un problema con le dipendenze di com.google.gms: google-services (sotto 4.2.0), aggiorna com.google.gms: google-services a 4.2.0.

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

3

Uno dei motivi di questo evento potrebbe essere la dimenticanza di aggiungere android.permission.INTERNETautorizzazioni inAndroidManifest.xml

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

2

per me è stato l'aggiornamento delle dipendenze di com.google.gms: google-services all'interno di build.gradle a

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

Sebbene l'inizializzazione manuale di Firebase FirebaseApp.initializeApp(this);faccia scomparire l'errore, non risolve la causa principale, alcuni problemi strani che si incontrano non sembrano essere risolti, come

  • FCM richiede com.google.android.c2dm.permission.RECEIVEun'autorizzazione che è solo per GCM
  • il token diventa non registrato dopo la prima notifica inviata
  • messaggio non ricevuto / onMessageReceived () non viene mai chiamato,

Utilizzare il plug-in Gradle più recente (ad es. Plug-in Android 2.2.3 e Gradle 2.14.1) risolto tutto. (Naturalmente l'installazione deve essere corretta secondo la documentazione di Firebase )


Whoa, queste sono alcune informazioni interessanti. Con il problema che sta accadendo a così pochi ppl, è difficile dire se abbiamo visto nulla di tutto ciò. Forse dovremmo provare a rimuoverlo di nuovo e utilizzare le versioni Gradle più recenti.
Roy Solberg,

0

Il mio problema non è stato risolto con questa procedura

FirebaseApp.initializeApp(this); 

Quindi ho provato qualcos'altro e ora la mia base di fuoco è stata inizializzata con successo. Prova ad aggiungere quanto segue in app module.gradle

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

Fai clic su Strumenti> Firebase per aprire la finestra Assistente.

Fare clic per espandere una delle funzionalità elencate (ad esempio Analytics), quindi fare clic sul collegamento tutorial fornito (ad esempio Registra un evento Analytics).

Fai clic sul pulsante Connetti a Firebase per connetterti a Firebase e aggiungere il codice necessario alla tua app.

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


0

Firebase installato tramite gli strumenti di Android Studio ... Firebase ...

Ho eseguito l'installazione tramite gli strumenti integrati di Android Studio (seguendo gli ultimi documenti di Firebase). Ciò ha installato le dipendenze di base ma quando ho tentato di connettermi al database mi ha sempre dato l'errore che dovevo chiamare prima l'inizializzazione, anche se ero:

FirebaseApp predefinito non è inizializzato in questo processo. Assicurati di chiamare prima FirebaseApp.initializeApp (Context).

Stavo ricevendo questo errore, non importa quello che ho fatto.

Alla fine, dopo aver visto un commento in una delle altre risposte, ho modificato quanto segue nella mia versione dalla versione 4.1.0 a:

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

Quando l'ho fatto ho visto finalmente un errore che mi ha aiutato:

File google-services.json mancante. Il plug-in di Google Services non può funzionare senza di esso. Posizione cercata: C: \ Users \% nome utente% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ debug \ google-services.json
C: \ Users \% nome utente% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ nullnull \ google-services.json
C: \ Users \% nomeutente% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ google-services.json
C: \ Users \% nome utente% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ google- services.json
C: \ Users \% nome utente% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnullDebug \ google-services.json
C: \ Users \% nome utente% \ AndroidStudioProjects \ TxtFwd \ app \ google-services.json

Questo è il problema. Sembra che la versione 4.1.0 non fornisca questo errore di compilazione per qualche motivo, non menziona la mancanza di un file google-services.json. Non ho il file google-services.json nella mia app, quindi sono uscito e l'ho aggiunto.

Ma poiché si trattava di un aggiornamento che utilizzava un database firsbase in tempo reale esistente, non avevo mai dovuto generare quel file in passato. Sono andato su Firebase e l'ho generato e aggiunto e risolto il problema.

Modificato indietro a 4.1.0

Una volta scoperto tutto questo, ho cambiato la variabile classpath indietro (a 4.1.0) e ricostruita e si è schiantata di nuovo con l'errore che non è stata inizializzata.

Problemi di root

  • Costruire con 4.1.0 non ti fornisce un errore valido al momento della precompilazione, quindi potresti non sapere cosa sta succedendo.
  • L'esecuzione con 4.1.0 provoca l'errore di inizializzazione.


0

mutevole

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

per

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

Per me va bene


L'uso delle seguenti versioni più recenti mi ha aiutato a risolvere il problema. Non è necessario eseguire il downgrade :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms: google-services: 4.3.0'
granato

0

Seguendo la risposta di @Gabriel Lidenor, l'inizializzazione dell'app con il contesto non funziona nel mio caso. Cosa succede se stai cercando di creare l'app firebase senza google-service.json? Quindi, prima di inizializzare un numero qualsiasi di app firebase, è necessario inizializzare come;

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

-1

Dovremo inizializzare Firebase nella funzione onCreate della classe di applicazione.

 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;
}

}

Codice nel file manifest: -

  <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

Motivo e soluzione: questo è l'errore comune che si ottiene la maggior parte delle volte. Motivo: quando si integra il progetto con Firebase, vengono aggiunte le dipendenze

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

e percorso di classe

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

devi solo aggiornarli

Ecco come è possibile aggiornare

vai a gradle sript e fai questo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.