Android Firebase数据库依赖崩溃应用程序
我试图用下面的“”示例写入我的DB,但应用程序在启动时崩溃 这似乎是因为依赖性:Android Firebase数据库依赖崩溃应用程序,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我试图用下面的“”示例写入我的DB,但应用程序在启动时崩溃 这似乎是因为依赖性: 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/Contex
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'
如何解决此问题?此问题是由使用不一致的Firebase库版本引起的。更新您的生成依赖项以一致地使用9.4.0版
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
出现此问题是因为依赖项版本不匹配意味着如果使用与唯一版本相关的所有库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'
如果,像我一样,你所有的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'
以及:
对我来说,问题不是firebase本身不匹配,而是它们与google版本不匹配。用于广告
将我所有的firebase更改为使用10.2.1解决了这个问题
因此,请确保所有firebase都与其他google版本匹配。我也在努力解决这个问题,因为play服务和firebase都在同一版本10.2.0上,但仍然存在例外情况。它是:
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"
例外情况消失了 问题在于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的其他版本相匹配
欲了解更多信息,请访问此页
升级到Android Studio v3和升级SDK时,我遇到了同样的问题。 在app/Build.gradle中修复切换到11.4.2版本: 编译“com.google.android.gms:play services base:11.4.2” 编译“com.google.firebase:firebase核心:11.4.2” 进入主版本。格雷德尔 移动到3.1.1版本并添加maven url
classpath 'com.google.gms:google-services:3.1.1'
maven {
url 'https://maven.google.com'
}
请参阅.*/installation/android#4.-安装模块您是否也遵循了其他模块?是的。我按照他们说的做了一切,尝试更新依赖项,以便对firebase LIB使用相同的版本。制作9.4.0或9.2.1。感谢您在Firebase问题@qbix上如此关注。非常感谢@弗兰克:不客气。它具有教育意义,令人满意。有时候我希望它没有那么有趣。我应该专注于解决我自己的问题!谢谢它现在可以工作了:)但是我想知道为什么他们没有提到这一点(或者只是我错过了)@danielgi:我没有在任何地方看到它的文档,但是最好使用相同版本的库。当Google Play Services的新版本发布时,所有库的版本一起增加。实际上,您的gradle文件显示了一个错误,并表示使用不同的版本可能会导致运行时问题。干杯
classpath 'com.google.gms:google-services:3.1.1'
maven {
url 'https://maven.google.com'
}