FirebaseApp par défaut n'est pas initialisé


236

Nous voyons quelques exceptions avec le message Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.dans notre application Android dans laquelle nous venons d'ajouter Firebase Remote Config.

La trace de pile est la suivante:

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)

Il s'agit de la version 9.6.1 et nous utilisons également d'autres composants 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"

Comme je peux le voir dans la documentation et le Javadoc, nous ne devrions pas avoir à effectuer d'initialisation manuelle dans notre cas.

L'exception se produit sur Android 4-6 sur une variété d'appareils.

Éditer:

Je vois que cette question attire un peu l'attention. Je pense que cette explication peut être intéressante pour certains d'entre vous: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html


1
Essayez de chercher SO pour "FirebaseApp par défaut n'est pas initialisé". Il y a beaucoup de circonstances différentes qui peuvent provoquer cela.
Doug Stevenson

Ouais je l'ai. Je n'en ai pas trouvé avec des circonstances correspondantes, c'est pourquoi je demande. Aurait pu mentionner cela dans le Q.
Roy Solberg

Êtes-vous en mesure de produire un exemple minimal qui reproduit ce problème et d'afficher le manifeste, build.gradle et Activity?
Doug Stevenson

Initialisez-vous Firebase dans un ContentProvider ou dans votre classe Application?
Andrew Kelly

2
Je rencontre le même problème pour un petit pourcentage de joueurs. Utilisation de la dernière version 10.0.1
Dmitry

Réponses:


136

J'ai eu ce même problème il y a quelque temps.

Vous essayez d'obtenir une instance de Firebase sans l'initialiser. Veuillez ajouter cette ligne de code avant d'essayer d'obtenir une instance de Firebase:

FirebaseApp.initializeApp(this);

3
@Henrik Uniquement dans ExtendedApplication.onCreate ().
Roy Solberg

5
Eh bien, cela n'a pas fonctionné pour moi (encore quelques plantages en production). Je vais essayer d'ajouter le code init à ma première activité onCreate ().
Sébastien

77
Il est important de noter qu'en plus de cette initialisation, les services google doivent être appliqués comme suit:apply plugin: 'com.google.gms.google-services'
pamobo0609

2
dans quel fichier dois-je ajouter ce MainActivity.java?
abhit

23
Pour moi, la version com.google.gms: google-services: 4.1.0 plantait mais com.google.gms: google-services: 4.0.1 a fonctionné
Igor Čordaš

346

Assurez-vous d'ajouter à votre build.gradle au niveau racine

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

Ensuite, dans votre fichier Gradle au niveau du module (généralement l'application / build.gradle), ajoutez la ligne `` appliquer le plugin '' au bas du fichier pour activer le plugin 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'

Comme indiqué dans la documentation . J'ai eu une exception comme dans une question ci-dessus quand j'ai oublié d'ajouter cela dans mes fichiers de notes.


2
Vérifiez et vérifiez. Je viens de vérifier que nous avons les fichiers Gradle comme décrit. Je dois mentionner que le code fonctionne bien pour beaucoup d'utilisateurs.
Roy Solberg

3
"Appliquer le plug-in:" com.google.gms.google-services "a fonctionné pour moi.
Rockyfish

7
N'a pas aidé dans mon cas. Et le problème affecte un pourcentage extrêmement faible de joueurs. Donc, ce n'est probablement pas un problème avec le code ou les paramètres, mais avec l'interopérabilité avec les services de lecture installés sur les appareils de l'utilisateur :-(
Dmitry

2
merci :) J'ai oublié d'ajouter cette ligne dans build.gradle: appliquez le plugin: 'com.google.gms.google-services'
Richi

1
Superbe .. grande analyse
Sandip Wankhede

126

Il semble que cela google-services:4.1.0pose un problème. Soit le déclasser en

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

ou mettez-le à niveau

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

J'espère que ça aide


9
Cela a également fonctionné pour moi. Il semble qu'il y ait un problème avec 4.1.0
iuq

Je viens également de trouver ce problème et j'ai également constaté qu'une mise à jour était déjà disponible dans Android Studio 3.2 pour les outils de construction du SDK Android (Outils -> Gestionnaire de SDK -> Outils SDK), en appliquant cette mise à jour, permettez-moi de réutiliser classpath 'com.google.gms:google-services:4.1.0'. YMMV.
IainCunningham

2
omg, j'ai littéralement passé plus de 2 semaines pour que cela fonctionne, et tout ce que j'avais à faire était de passer de 4.1.0 à 4.0.0?!?!?! Merci beaucoup
Oliver Spryn

4
selon le suivi des problèmes sera corrigé dans 4.2.0
kuelye

Je viens de rétrograder com.google.gms: google-services: 4.1.0 vers om.google.gms: google-services: 4.0.0 et cela fonctionne. Cela m'a sauvé la journée.
Anil

51

Il me manquait la ligne ci-dessous dans mon fichier app / build.gradle

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

et une fois le projet propre et réexécutez. Cela m'a arrangé.


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

a un problème. utilisez plutôt:

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

15

Première chose que vous devez ajouter com.google.gms: google-services: xxx au niveau racine 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
}

}

Après cela, vous devez appliquer le plug-in: 'com.google.gms.google-services' sur 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'

et si vous rencontrez toujours un problème, vous devez ajouter

FirebaseApp.initializeApp(this);

juste avant d'appeler

FirebaseInstanceId.getInstance().getToken();

12

Après la mise à jour de diverses dépendances, j'ai eu une erreur Crashlytics dans la compilation, 'Crashlytics a trouvé une clé API non valide: null. Vérifiez le plugin Crashlytics pour vous assurer que l'application a bien été ajoutée! Contactez support@fabric.io pour obtenir de l'aide. » La seule réponse non automatique que j'ai reçue de tentatives répétées de support@fabric.io vers laquelle l'erreur vous dirige est que Fabric et Crashlytics sont des équipes distinctes, donc ils ne pouvaient pas m'aider. J'ai évité d'implémenter la couche Fabric supplémentaire dans Crashlytics et je n'ai pas pu obtenir une nouvelle clé du site Fabric, ni même obtenir que le site me reconnaisse. En tentant de contourner ce problème en supprimant simplement Crashlytics de mon code, j'ai obtenu le 'Default FirebaseApp n'est pas initialisé dans ce processus com.example.app. Assurez-vous d'appeler FirebaseApp.initializeApp (Context) en premier «plantage lors de l'exécution.

Je n'ai jamais eu à ajouter la ligne d'initialisation de 'FirebaseApp.initializeApp (this)' et, en fait, elle l'a commentée. La documentation mentionne même ne pas en avoir besoin si vous n'utilisez Firebase que pour une seule activité. L'ajouter n'a fait aucune différence, a quand même eu l'erreur de tuer la course.

Il s'avère que la cause des nouvelles erreurs obscures est la dépendance mise à jour des services Google. Pour l'instant, je n'ai pas le temps de passer plus de jours à essayer de corriger les erreurs de fusil de chasse que la nouvelle dépendance provoque, donc jusqu'à ce que quelqu'un trouve des solutions, je m'en tiendrai à l'ancienne version. Outre l'étrange crash d'initialisation, la nouvelle version peut forcer Fabric sur les utilisateurs de Crashlytics. Les utilisateurs sont également forcés de revenir à l'ancienne version de dépendance: Crashlytics a trouvé une clé API non valide: null. après la mise à jour de 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: Après avoir mis à jour les dépendances suivantes à nouveau

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

J'ai eu un plantage immédiat sur la tentative d'installation avec «xxx a fermé de manière inattendue», comme lorsque j'ai tenté la mise à jour des dépendances de Google-Services. En fouillant dans le journal, j'ai trouvé un lien me demandant d'ajouter ceci au manifeste

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

Ceci est nouveau et n'est pas mentionné dans les instructions de configuration et interstitielles ici https://firebase.google.com/docs/android/setup et ici https://developers.google.com/admob/android/interstitial .

Auparavant, je n'avais à gérer qu'un seul ID lié à l'annonce pour mon application, INTERSTITIAL_UNIT_ID. Maintenant, deux doivent être traités. Outre l'ajout ci-dessus, la documentation ordonne d'ajouter ADMOB_APP_ID ici (le même numéro que vous liez avec ads.APPLICATION_ID dans le nouveau code manifeste)

MobileAds.initialize(this, ADMOB_APP_ID);

Les ID INTERSTITIAL_UNIT_ID et ADMOB_APP_ID peuvent être déterrés dans votre console Google AdMob. Mon application de jeu a cessé de diffuser des annonces lors de ma première mise à jour des dépendances Firebase et ne diffuse toujours pas d'annonces, ce qui donne le code d'erreur 0 dans le

public void onAdFailedToLoad(int errorCode){...

Même après tout cet encombrement supplémentaire, je ne peux toujours pas mettre à jour la dépendance google-services sans le crash de l'exécution de l'erreur d'initialisation. Je m'attends à être bloqué sur google-services: 4.0.1 pendant un certain temps.

EDIT 24/10/18: De mobileadssdk-advisor+support@google.com après des semaines de correspondance sur l'absence de diffusion d'annonces après les mises à jour:

«Merci d'avoir partagé les journaux de l'appareil. D'après les journaux, cela ressemble à un problème existant et cela figure sur notre liste de priorités et notre équipe travaille sur le correctif et cela ne se produit que sur les appareils Android O et P. ''

Seuls les appareils O et P? Ce sont les deux dernières versions, O est sorti le 25 septembre 2017. Oui.


3
J'ai aussi vécu cela exactement. J'aimerais que Google ne casse pas les builds de mon application à chaque fois qu'il envoie une mise à jour.
Patty P

Salut, je le fais fonctionner en ajoutant apply plugin: 'com.google.gms.google-services'dans mon build.gradle (avec google-services: 4.1.0)
Nicolas Mauti

10

Comme mentionné par @PSIXO dans un commentaire, cela pourrait être le problème avec la version dépendante de google-services. Pour moi en train de changer,

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

à

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

Il pourrait y avoir un problème avec la version 4.1.0. Parce que j'ai perdu beaucoup d'heures là-dessus, j'ai pensé écrire ceci comme réponse.


1
oui pour moi, cela a fonctionné en changeant la version de build en 4.0.1. Cela peut être un problème de dépendance
Abraham Mathew

4
Après la mise à jour de toutes les versions vers la dernière (4.2.0), cela a résolu le problème pour moi
david72

7

Si vous utilisez FirebaseUI , pas besoin de FirebaseApp.initializeApp(this);dans votre code selon l'exemple .

Assurez-vous d'ajouter à votre build.gradle au niveau racine:

buildscript {

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

Ensuite, dans votre fichier Gradle de niveau module :

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'

C'est tout. Pas besoin de plus.


5

Vous devez ajouter la dépendance buildscript de Firebase Gradle dans build.gradle (au niveau du projet)

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

et ajoutez le plugin Firebase pour Gradle dans 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'

Source: Android Studio Assistant


5

Une autre solution possible - essayez différents Android Studio si vous utilisez des bêtas. A aidé pour moi. Le nouveau Android Studio n'a tout simplement pas ajouté Firebase correctement. Dans mon cas, 3.3 aperçu

Après une enquête plus approfondie, j'ai découvert que le problème était que le nouveau studio Android démarre le projet avec une version plus récente des services Google et il semble que c'était le problème d'origine. Comme @Ammar Bukhari l'a suggéré, ce changement a aidé:

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


4

Dans mon cas, le plugin gradle des services Google ne générait pas le values.xmlfichier requis à partir du google-services.jsonfichier. La bibliothèque Firebase utilise ce fichier de valeurs généré pour s'initialiser et il semble qu'elle ne génère pas d'erreur si le fichier de valeurs est introuvable. Vérifiez que le fichier de valeurs existe à l'emplacement suivant et qu'il est rempli avec les chaînes appropriées de votre google-sevices.jsonfichier:

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

et / ou

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

Pour plus de détails, voir: https://developers.google.com/android/guides/google-services-plugin

Mon cas particulier a été causé par l'utilisation d'une version d'outils Gradle trop avancée pour la version d'Android Studio que j'utilisais (c'est-à-dire que vous exécutez les outils de notation v3.2.X-YYY avec Android Studio v3.2).


4

Nous n'avons pas besoin d'appelerFirebaseApp.initializeApp(this); n'importe où manuellement. et nous ne devrions pas trop.

Je viens de faire face au même problème à ce sujet et j'ai obtenu une solution inattendue et étrange.

De cette réponse:

J'ai supprimé tools:node="replace"et ça marche comme un charme.


4

Je suppose qu'il y a des problèmes de compatibilité avec la version de google-services et les versions firebase.

J'ai changé dans le fichier build.gradle du projet, la dépendance

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

puis mis à jour les dépendances build.gradle du module pour:

implémentation "com.google.firebase: base de données firebase: 16.0.6"

implémentation "com.google.firebase: firebase-core: 16.0.7"

Tout fonctionne comme un charme, pas besoin de taper FirebaseApp.initializeApp (this);


je résout mon problème après avoir rétrogradé 'com.google.firebase: firebase-core: 16.0.8' à 'com.google.firebase: firebase-core: 16.0.7', merci
Nanda Z

3

La raison de ce problème est com.google.gms: version google-services.Lorsque j'utilisais 4.1.0 , je faisais face à la même erreur. Ensuite, je rétrograde la version. Avant

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

Après

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

J'espère que cela résoudra l'erreur.


3

Si vous avez récemment mis à jour votre Android Studio vers la 3.3.1 qui a un problème avec les dépendances de com.google.gms: google-services (en dessous de 4.2.0), veuillez donc mettre à jour com.google.gms: google-services vers 4.2.0.

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

3

L'une des raisons de ce phénomène pourrait être d'oublier l'ajout d' android.permission.INTERNETautorisations dansAndroidManifest.xml

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

2

pour moi, c'était la mise à niveau des dépendances de com.google.gms: google-services dans build.gradle vers

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

Bien que l'initialisation manuelle de Firebase FirebaseApp.initializeApp(this);fasse disparaître l'erreur, cela ne corrige pas la cause racine, certains problèmes étranges qui se produisent ne semblent pas être résolus, tels que

  • FCM nécessite com.google.android.c2dm.permission.RECEIVE autorisation qui est uniquement pour GCM
  • le jeton n'est plus enregistré après l'envoi de la première notification
  • message non reçu / onMessageReceived () n'est jamais appelé,

Utilisez le plus récent plugin Gradle (par exemple le plugin Android 2.2.3 et Gradle 2.14.1) a tout corrigé. (Bien sûr, la configuration doit être correcte selon la documentation de Firebase )


Whoa, c'est une info intéressante. Avec le problème qui arrive à si peu de personnes, il est difficile de dire si nous avons vu tout cela. Nous devrions peut-être essayer de le supprimer à nouveau et d'utiliser les nouvelles versions de Gradle.
Roy Solberg

0

Mon problème n'a pas été résolu avec cette procédure

FirebaseApp.initializeApp(this); 

J'ai donc essayé autre chose et maintenant ma base de feu a été initialisée avec succès. Essayez d'ajouter les éléments suivants dans l'application 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

Cliquez sur Outils> Firebase pour ouvrir la fenêtre Assistant.

Cliquez pour développer l'une des fonctionnalités répertoriées (par exemple, Analytics), puis cliquez sur le lien du didacticiel fourni (par exemple, Enregistrer un événement Analytics).

Cliquez sur le bouton Se connecter à Firebase pour se connecter à Firebase et ajouter le code nécessaire à votre application.

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


0

Firebase installé via les outils Android Studio ... Firebase ...

J'ai fait l'installation via les outils intégrés d'Android Studio (en suivant les derniers documents de Firebase). Cela a installé les dépendances de base, mais lorsque j'ai essayé de me connecter à la base de données, cela m'a toujours donné l'erreur que je devais appeler initialize en premier, même si j'étais:

FirebaseApp par défaut n'est pas initialisé dans ce processus. Assurez-vous d'appeler FirebaseApp.initializeApp (Context) en premier.

J'obtenais cette erreur quoi que je fasse.

Enfin, après avoir vu un commentaire dans l'une des autres réponses, j'ai changé ce qui suit dans mon gradle de la version 4.1.0 en:

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

Quand je l'ai fait, j'ai finalement vu une erreur qui m'a aidé:

Le fichier google-services.json est manquant. Le plug-in Google Services ne peut pas fonctionner sans lui. Emplacement recherché: C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ debug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ google- services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnullDebug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ google-services.json

C'est le problème. Il semble que la version 4.1.0 ne donne pas cette erreur de construction pour une raison quelconque - ne mentionne pas que vous avez un fichier google-services.json manquant. Je n'ai pas le fichier google-services.json dans mon application, je suis donc sorti et l'ai ajouté.

Mais comme il s'agissait d'une mise à niveau qui utilisait une base de données firsbase en temps réel existante, je n'avais jamais eu à générer ce fichier dans le passé. Je suis allé sur Firebase et je l'ai généré et je l'ai ajouté et cela a résolu le problème.

Modifié à 4.1.0

Une fois que j'ai découvert tout cela, j'ai changé la variable classpath (4.1.0) et reconstruite et elle s'est à nouveau écrasée avec l'erreur qu'elle n'a pas été initalisée.

Problèmes de racine

  • Construire avec 4.1.0 ne vous fournit pas une erreur valide lors de la précompilation, vous ne savez donc peut-être pas ce qui se passe.
  • L'exécution avec 4.1.0 provoque l'erreur d'initialisation.


0

en changeant

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

à

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

Travaille pour moi


L'utilisation des dernières versions suivantes m'a aidé à résoudre le problème. Pas besoin de rétrograder :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms: google-services: 4.3.0'
grenat

0

En suivant la réponse de @Gabriel Lidenor, l'initialisation de l'application avec le contexte ne fonctionne pas dans mon cas. Que faire si vous essayez de créer une application firebase sans google-service.json? Donc, avant d'initialiser un certain nombre d'applications Firebase, vous devez d'abord l'initialiser en tant que;

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

-1

Nous devrons initialiser Firebase dans la fonction onCreate de la classe d'application.

 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 dans le fichier manifeste: -

  <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

Raison et solution: c'est l'erreur courante que vous obtiendrez la plupart du temps. Raison: lorsque vous intégrez votre projet avec Firebase il ajoute les dépendances

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

et classpath

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

il vous suffit de les mettre à jour

Voici comment mettre à jour

aller à gradle sript et faire cela

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.