Firebase数据库依赖项崩溃应用程序

时间:2016-08-03 00:08:32

标签: android firebase firebase-realtime-database

我尝试使用以下内容写入我的数据库" Set up Firebase Realtime Database for Android"例如,应用程序在启动时崩溃。

似乎是因为依赖:

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

崩溃日志:

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'

如何解决此问题?

6 个答案:

答案 0 :(得分:37)

此问题是由使用不一致的Firebase库版本引起的。更新构建依赖关系以始终使用版本9.4.0。

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

答案 1 :(得分:3)

发生此问题是因为依赖项版本不匹配意味着如果使用与唯一版本相关的所有库firebase,如下所示。

错误的方式:

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'

正确的方式:

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'

答案 2 :(得分:3)

如果像我一样,你拥有使用相同版本的所有firebase内容。一定要检查所有谷歌相关的。

对我来说,我有:

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'

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

对我而言,问题不在于火力本身并不匹配,而是与谷歌版本不匹配。用于广告。

更改我使用的所有firebase使用10.2.1为我解决了这个问题。

因此,请确保所有firebase版本与其他google版本匹配。

答案 3 :(得分:2)

我也在努力解决这个问题,同时版本 10.2.0 的播放服务和firebase仍然有例外。那是:

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

我最终刚升级到 10.2.1

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

并且异常消失了!

答案 4 :(得分:0)

问题在于firebase依赖....

这是版本兼容性问题

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'

}

我的firebase-ui版本1.2.0是一个问题

然后我用1.0.1更改了它与firebase的其他版本匹配。

更多访问此页面....

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

答案 5 :(得分:0)

升级到Android Studio v3和升级后的SDK时遇到了同样的问题。 修复包含在app / Build.gradle中以切换到11.4.2版本:

编译" com.google.android.gms:play-services-base:11.4.2" 编译" com.google.firebase:firebase-core:11.4.2"

进入主Build.gradle   移至3.1.1版本并添加maven url

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

请参阅https://rnfirebase.io/docs/v3.0。* / installation / android#4.-Install-modules