【问题标题】:Firebase database dependency crashes appFirebase 数据库依赖项使应用程序崩溃
【发布时间】:2016-12-08 12:17:44
【问题描述】:

我正在尝试使用以下“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)

我的应用程序 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'

如何解决这个问题?

【问题讨论】:

  • 您是否也关注了这些其他setup instructions
  • 是的。我按照他们说的做了一切
  • 尝试更新依赖项以对 firebase 库使用相同的版本。制作 9.4.0 或 9.2.1。

标签: android firebase firebase-realtime-database


【解决方案1】:

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

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

【讨论】:

  • 感谢您关注 Firebase 问题@qbix。非常感谢!
  • @FrankvanPuffelen:不客气。这是教育和令人满意的。有时我希望它不是那么有趣。我应该专注于解决自己的问题!
  • 谢谢!它现在正在工作:) 但我想知道他们为什么不提到这一点(或者只是我错过了)
  • @danielgi:我没有在任何地方看到它的文档,但最好使用相同版本的库。当新版本的 Google Play 服务发布时,所有库版本都会一起增加。
  • 实际上你的 gradle 文件显示错误,并说使用不同的版本可能会导致运行时问题。干杯
【解决方案2】:

如果像我一样,你所有的 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 本身不匹配,而是它们与 google 版本不匹配。用于广告。

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

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

【讨论】:

    【解决方案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'
    

    【讨论】:

      【解决方案4】:

      我也在为此苦苦挣扎,在同一版本 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"
      

      异常消失了!

      【讨论】:

        【解决方案5】:

        问题在于 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 版的问题

        然后我将其更改为与其他版本的 firebase 匹配的 1.0.1。

        更多信息请访问此页面....

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

        【讨论】:

          【解决方案6】:

          升级到 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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-09-18
            • 1970-01-01
            • 2020-03-07
            • 2019-11-03
            • 2018-12-16
            • 1970-01-01
            • 2018-12-30
            • 1970-01-01
            相关资源
            最近更新 更多