2016-05-19 8 views
30

Abbiamo seguito lo Add Firebase to your Android Project ma non possiamo vedere l'app che riceve i dati nella console di Firebase.
E quando lanciamo l'applicazione, il registro dice:FirebaseInitProvider: inizializzazione di FirebaseApp non riuscita

FirebaseInitProvider: FirebaseApp initialization unsuccessful 

Cosa significa? Cosa stiamo sbagliando?
Non riesco a trovare questo errore nei documenti, né qui in StackOverflow.

+2

Stesso problema qui. – tisch

+0

Firebase mostra uno spinner tutto il tempo accanto all'app e quando si fa clic su di esso, sia l'analisi che i crash generano un errore. Succede con un progetto importato dalla console di google, i nuovi progetti sembrano funzionare bene ... – TheBronx

+0

Ho provato a creare un nuovo progetto in firebase, ma il problema persiste ancora. – tisch

risposta

14

Accade quando non si dispone di apply plugin: 'com.google.gms.google-services' nel proprio app/build.gradle. Prova ad aggiungerlo.

Assicurati inoltre di avere l'SDK dei servizi di Google Play installato in Android SDK Manager.

0

Ho ottenuto la stessa uscita logcat.

è stato risolto aggiornando il mio Google Play Services dipendenza alla 9.0.0 nella mia app/build.gradle

e l'aggiornamento

buildScript { 
    //... 
    dependencies { 
     //... 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

nel mio progetto build.gradle a 3.0.0

28

What does this mean? What are we doing wrong?

Presumibilmente, che l'autenticazione non ha avuto successo.

a) il buildscriptrepositories e dependencies per il progetto livello build.gradle:

buildscript { 
    repositories { 
     google() 
     jcenter() 
    } 
    dependencies { 

     // Android Build Tools Plugin 
     classpath "com.android.tools.build:gradle:3.0.1" 

     // Google Services Plugin 
     classpath "com.google.gms:google-services:3.1.2" 

     // Firebase Plugins (optional) 
     // classpath 'com.google.firebase:firebase-plugins:1.1.5' 
    } 
} 

b) la dependencies per il modulo livello mobile/build.gradle (le immagini Intel x86 di Android possono ancora avere una versione precedente di i servizi di Google Play installati, ad esempio 10.2.0 vengono eseguiti sull'emulatore x86 corrente, mentre 11.8.0 viene eseguito sul dispositivo fisico ARM). referenziamento play-services e firebase-core compileranno tutte le loro dipendenze, a meno di escluderne alcune.

def playServicesVersion = "11.8.0" 

android { 
    ... 
    buildTypes { 
     debug { 
      // suffixing the package name for debug builds, 
      // in order to partially mute the crash-reporting 
      // is an *optional* configuration (see below): 
      applicationIdSuffix ".debug" 
     } 
    } 
} 

dependencies { 
    ... 
    // Google Play Services Library (in particular "play-services-auth") 
    compile("com.google.android.gms:play-services:${playServicesVersion}") {} 

    // Google Firebase Library 
    implementation "com.google.firebase:firebase-core:${playServicesVersion}" 
    // implementation "com.google.firebase:firebase-crash:${playServicesVersion}" 
    // implementation "com.google.firebase:firebase-perf:${playServicesVersion}" 
} 

c) la linea di fondo di mobile/build.gradle dovrebbe essere:

// apply the Google Services Plugin 
apply plugin: "com.google.gms.google-services" 

d) fare in modo di avere le credenziali() scaricato disponibili a app/google-services.json; sulla console Firebase, è necessario aggiungere entrambi gli hasc SHA1 (o SHA256), il debug e il keystore di rilascio, in modo che entrambe le build possano autenticarsi correttamente; una volta che tutte le partite, dovrebbe riferire:

I/FirebaseInitProvider: FirebaseApp initialization successful 

E 'tutto ben documentato, basta vedere Setup Google Play Services, Firebase Quickstart o Crash Reporting; mentre trovo questo articolo sul Firebase Blog abbastanza utile: Organizing your Firebase-enabled Android app builds, perché spiega come disattivare parzialmente il rapporto sugli arresti anomali. Il release notes annuncia sempre gli aggiornamenti & modifiche.

+0

Voglio chiedere perché abbiamo bisogno di classpath "com.google.gms: google-services: 3.0.0" perché l'ultima versione è: 9.4.0? –

+1

@Dharvikshah perché esiste solo un 'com.google.gms: google-services: 3.0.0'. quello è impacchettato come plugin Gradle, l'altro come libreria. 'google-services'! =' play-services'. ha anche aggiunto alcuni commenti sopra. –

+0

Ciò provoca un problema sul mio caso: "Errore: esecuzione non riuscita per l'attività": app: transformClassesWithDexForDebug ". > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java .util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: ID metodo non in [0, 0xffff]: 65536 ". Cos'è questo e come posso ripararlo? –

3

La prima cosa che vorrei consigliarvi di controllare on è:

1) È stato incluso il usa-autorizzazione INTERNET nel vostro manifesto?

+0

Buono! Qualche volta accade – Rafa0809

0

Nel mio caso stavo cercando di compilare in modo selettivo i servizi di Google Play. Invece di usare

compile 'com.google.android.gms:play-services:9.4.0' 

come descritto in: https://developers.google.com/android/guides/setup#ensure_devices_have_the_google_play_services_apk

ho aggiunto manualmente mappe e qualche modulo altre dipendenze da Google Play Services come

compile 'com.google.android.gms:play-services-maps:9.4.0' 
compile 'com.google.android.gms:play-services-places:9.4.0' 

Unfourtunately Firebase fermato a lavorare dopo questo.

Come risultato ho dovuto rollback e ritorno di utilizzare

compile 'com.google.android.gms:play-services:9.4.0' 

anziché selettivamente.

0

Assicurarsi di aver aggiunto questa linea a livello di applicazione build file Gradle

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

Problemi correlati