web-dev-qa-db-fra.com

La dépendance de la base de données Firebase bloque l'application

J'essaie d'écrire dans ma base de données à l'aide de l'exemple " Configurer la base de données temps réel Firebase pour Android ", mais l'application se bloque au démarrage. 

Cela semble parce que la dépendance:

 compile 'com.google.firebase:firebase-database:9.2.1'

Le journal des crashs:

FATAL EXCEPTION: main
Process: com.example.giat.myapplication, PID: 3874
Java.lang.NoSuchMethodError: No static method zzeq(Landroid/content/Context;)Lcom/google/Android/gms/internal/zzalp; in class Lcom/google/Android/gms/internal/zzalp; or its super classes (declaration of 'com.google.Android.gms.internal.zzalp' appears in /data/data/com.example.giat.myapplication/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_b22e7bdbdba6ace0ee1e94f163c76d1f75b59f7e-classes.dex)
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
    at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
    at com.google.firebase.FirebaseApp.zzek(Unknown Source)
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
    at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1702)
    at Android.content.ContentProvider.attachInfo(ContentProvider.Java:1665)
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
    at Android.app.ActivityThread.installProvider(ActivityThread.Java:5417)
    at Android.app.ActivityThread.installContentProviders(ActivityThread.Java:4988)
    at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4923)
    at Android.app.ActivityThread.access$1500(ActivityThread.Java:144)
    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1424)
    at Android.os.Handler.dispatchMessage(Handler.Java:102)
    at Android.os.Looper.loop(Looper.Java:155)
    at Android.app.ActivityThread.main(ActivityThread.Java:5696)
    at Java.lang.reflect.Method.invoke(Native Method)
    at Java.lang.reflect.Method.invoke(Method.Java:372)
    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1028)
    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:823)

Mon application build.gradle:

apply plugin: 'com.Android.application'

Android {
compileSdkVersion 24
buildToolsVersion "24.0.1"

defaultConfig {
    applicationId "com.example.giat.myapplication"
    minSdkVersion 15
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:24.1.1'
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-database:9.2.1'

}


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

Comment résoudre ce problème?

14
daniel gi

Ce problème est dû à l'utilisation de versions de bibliothèque Firebase incohérentes. Mettez à jour vos dépendances de construction pour utiliser systématiquement la version 9.4.0.

compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
37
Bob Snyder

Si, comme moi, vous avez toutes vos choses Firebase en utilisant le même ver. assurez-vous de vérifier tous ceux liés à Google aussi.

Pour moi j'avais:

compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-ads:10.0.1'
compile 'com.google.firebase:firebase-config:10.0.1'

et:

compile 'com.google.Android.gms:play-services-ads:10.2.1'

Le problème pour moi n'était pas que la base de feu ne correspondait pas entre eux mais qu'elle ne correspondait pas à celle de Google. utilisé pour les annonces.

Changer toutes mes bases de feu pour utiliser 10.2.1 a résolu le problème pour moi.

Assurez-vous donc que toutes les bases de feu correspondent à celles de Google.

3
Jeremy Styers

Ce problème est dû au fait que la non-concordance des versions de dépendance signifie que vous devez utiliser toutes les bases de données de bibliothèque associées à une version unique, comme suit.

Fausse route : 

compile 'com.google.firebase:firebase-ads:9.6.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'

La bonne façon : 

compile 'com.google.firebase:firebase-ads:9.6.0'
compile 'com.google.firebase:firebase-database:9.6.0'
compile 'com.google.firebase:firebase-core:9.6.0'
3
Dhaval Solanki

Je me débattais aussi avec ce problème, car les services de lecture et la base de feu étaient sur la même version 10.2.0 et j'ai toujours les exceptions. C'était:

compile "com.google.Android.gms:play-services-gcm:10.2.0"
compile "com.google.firebase:firebase-messaging:10.2.0"

Je viens de passer à 10.2.1

compile "com.google.Android.gms:play-services-gcm:10.2.1"
compile "com.google.firebase:firebase-messaging:10.2.1"

et les exceptions ont disparu!

2
Hadas Kaminsky

le problème est avec les dépendances firebase ....

c'est un problème de compatibilité de version

dependencies {

compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support.constraint:constraint-layout:1.0.0-alpha7'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'

compile 'com.firebaseui:firebase-ui-database:1.0.1'

testCompile 'junit:junit:4.12'
compile 'com.Android.support:cardview-v7:25.3.1'
compile 'com.Android.support:recyclerview-v7:25.3.1'

}

le mien était un problème avec firebase-ui version 1.2.0

alors je l'ai changé avec 1.0.1 qui correspond aux autres versions de firebase.

pour plus visitez cette page ....

https://github.com/firebase/FirebaseUI-Android

0
Wasi Sadman

J'ai eu le même problème lors de la mise à niveau vers Android Studio v3 et des SDK mis à niveau . Le correctif consistait en app/Build.gradle pour passer à la version 11.4.2:

compiler "com.google.Android.gms: base de jeux-services: 11.4.2" compiler "com.google.firebase: firebase-core: 11.4.2"

Dans Build.gradle principal Passer à la version 3.1.1 et ajouter l'URL maven

  classpath 'com.google.gms:google-services:3.1.1'
  maven {
      url 'https://maven.google.com'
  }

Voir https://rnfirebase.io/docs/v3.0 . */Installation/Android # 4.-Modules d'installation

0
tiofabby