Firebase database dependency crashes app

I'm trying to write to my DB with the following "Set up Firebase Realtime Database for Android" example but the app crashes on startup.

It's seems because the dependency:

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

The crash log:

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)

MY App 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'

How to fix this issue ?


ANSWERS:


This problem is caused by use of inconsistent Firebase library versions. Update your build dependencies to consistently use version 9.4.0.

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

This problem is occur because dependency version mismatch means if use all the library firebase related with unique version like following way.

Wrong way :

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'

Right way :

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'

If, like me, you have all your firebase things using the same ver. be sure to check all google related ones too.

For me I had:

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'

and:

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

The issue for me wasn't that the firebase didn't match across themselves but that they didn't match the google ver. used for ads.

Changing all my firebase ones to use 10.2.1 solved the issue for me.

So make sure all the firebase ones match the other google ones.


I was struggling with this too, had both the play-services and firebase on the same version 10.2.0 and still got the exceptions. It was:

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

I eventually just upgraded to 10.2.1

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

and the exceptions were gone!



 MORE:


 ? Firebase database, find the existing value
 ? Firebase Database run in service
 ? Firebase Database run in service
 ? Firebase Database run in service
 ? Setting custom key when pushing new data to firebase database
 ? Firebase Android method to check existence of user's profile info in Firebase database
 ? Retrive all data from Firebase Database
 ? Are there some service to MOCK Firebase database?
 ? Android Studio firebase database wait for read before adding new values
 ? Determine if any cells in a column range equal to 0, final result is 0, or else is 2