Comment résoudre L'échec de L'initialisation de L'API Firebase (Android + Firebase))
j'ai récemment eu besoin D'utiliser Google GCM dans mon projet. De son site web il est dit:
Firebase Cloud Messaging (FCM) est la nouvelle version de GCM. Il hérite l'infrastructure GCM fiable et évolutive, plus de nouvelles fonctionnalités! Voir la FAQ pour en savoir plus. Si vous intégrez la messagerie dans une nouvelle application, commencez par la FCM. Les utilisateurs de MCG sont fortement recommandés pour passer à la FCM, afin de bénéficier des nouvelles fonctionnalités de la FCM aujourd'hui et dans le avenir.
afin de configurer une nouvelle application Firebase, j'ai suivi les instructions fournies au site officiel et:
- Créé un nouveau Firebase application dans la console web et j'ai obtenu mon json à partir de là, - après avoir fourni le bon package de mon application;
- au niveau supérieur du fichier gradle du projet, j'ai ajouté
classpath 'com.google.gms:google-services:3.0.0'
dans la section dépendances; - dans le fichier gradle de mon module, j'ai ajouté:
compile 'com.google.firebase:firebase-core:9.0.0' compile 'com.google.firebase:firebase-messaging:9.0.0'
et dans la dernière ligne, j'ai ajouté:apply plugin: 'com.google.gms.google-services'
;
les fichiers complets sont fournis ci-dessous:
Haut niveau de gradle fichier:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
fichier gradle du Module:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
applicationId "br.com.gogame"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
useLibrary 'org.apache.http.legacy'
}
dependencies {
...
compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
...
}
apply plugin: 'com.google.gms.google-services'
Lorsque je démarre mon application, j'obtiens cette stacktrace:
05-23 14:04:55.109 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzd>
05-23 14:04:55.109 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzd>
05-23 14:04:55.110 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzc>
05-23 14:04:55.110 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzc>
05-23 14:04:55.126 13368-13368/br.com.gogame E/FirebaseApp: Firebase API initialization failure.
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.google.firebase.FirebaseApp.zza(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by: java.lang.NoSuchMethodError: No static method zzy(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/br.com.gogame-2/base.apk:classes26.dex)
at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source)
at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method)
at com.google.firebase.FirebaseApp.zza(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-23 14:04:55.131 13368-13368/br.com.gogame I/FirebaseInitProvider: FirebaseApp initialization successful
05-23 14:04:55.133 13368-13368/br.com.gogame E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.gogame, PID: 13368
java.lang.NoSuchMethodError: No static method zzy(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/br.com.gogame-2/base.apk:classes26.dex)
at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source)
at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
toute aide pour résoudre ce problème sera très appréciée! Ce qui concerne
12 réponses
Eh bien, après beaucoup de lutte, j'ai trouvé ce qui causait mon problème. Fondamentalement, j'ai eu deux modules de bibliothèques - qui s'est avéré être de mon propre - chacun d'eux d'importer des versions différentes de com.android.support:appcompat-v7.*
et google play services. Fait tous les importer la même version et le problème est parti.
j'ai rencontré la même erreur, résolue par upgrade firebase-core:
dependencies {
compile 'com.google.firebase:firebase-core:9.0.2'
}
veillez à ce que toutes les dépendances aient la même version
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:25.2.0'
implementation 'com.android.support:design:25.2.0'
implementation 'com.android.support:support-v4:25.2.0'
implementation 'com.google.firebase:firebase-auth:10.0.1'
implementation 'com.android.support:cardview-v7:25.2.0'
implementation 'com.google.firebase:firebase-database:10.0.1'
testCompile 'junit:junit:4.12'
}
j'ai fait face à la même question, mais après quelques r & D et j'ai appris que le problème était dans Gradle I. e, compiler " com.Android.support: support-v4:+ "alors j'ai juste supprimé le + et remplacé la version actuelle ie, compiler" com.Android.soutien:le soutien-v4:23.1.0" puis il a commencé à travailler
pour moi une importation complètement indépendante a causé cette erreur compiler 'com.aurelhubert: ahbottomnavigation: 1.3.3" Quand je l'ai enlevé, tout allait bien!--1-->
dans mon cas, le problème se produit parce que j'avais mis "apply plugin: 'com.Google.gms.google-services "" dans les dépendances des modules construire.grandle insteet de le mettre à la fin du dossier.
j'ai eu le même problème, corrigé par la mise à niveau vers play-services-auth: 10.0.1:
dependencies {
......
//implementation 'com.google.android.gms:play-services-auth:9.0.0'
implementation 'com.google.android.gms:play-services-auth:10.0.1'
....
}
vous pouvez vérifier les dépendances avec la commande gradle
./gradlew app:dependencies
compile('your dependency') {
exclude group: 'lib to be removed'
}
ajouter compile 'com.google.android.gms:play-services:9.0.0'
dans votre build de niveau app.fichier gradle
mon problème a été causé par "useProguard false" de suivre ce guide https://developer.android.com/studio/build/shrink-code.html
debug {
minifyEnabled true
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
désactivé Instantanée Runsupprimer "useProguard false" corrigé mon problème.
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
réponse Plus complète pour les débutants. @ Edgar est correct, Merci!
erreur: "Firebase API initialization failure" peut être trouvé dans logcat de Android Monitor est due à la version de bibliothèque incompatible. Et il peut s'agir de n'importe quelle bibliothèque avec laquelle vous compilez votre application dans Project perspective: allez à: Your-app-directory/app/build.gradle
Dans mon cas, j'ai pour correspondre à ces 2 module version et qui a résolu ce message d'erreur:
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-appindexing:16.0.1'
j'ai attaché ici l'écran tir de sorte que vous pouvez voir tout cela.
dans mon cas j'ai oublié d'ajouter ceci avec In App Level build
implementation 'com.google.firebase:firebase-messaging:9.6.0'
alors j'ai eu la base de feu firebase-api-initialisation-échec