根据 this SO主题,我知道存在版本冲突,但是在Google发布新版本后问题仍然存在。
错误:任务':app:processDebugGoogleServices'的执行失败。请通过更新google-services插件的版本来修复版本冲突(有关最新版本的信息,请访问 https://bintray.com/Android/android-tools/com.google.gms.google-services/ )或将com.google.Android.gms的版本更新为10.0.1。
我 build.gradle(模块:app)
....
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:26.+'
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.google.Android.gms:play-services-maps:11.0.4'
compile 'com.google.Android.gms:play-services-location:11.0.4'
}
apply plugin: 'com.google.gms.google-services'
现在需要进行哪些更改?
我想你改变了
compile 'com.google.firebase:firebase-messaging:11.0.4'
当抛出相同的错误时
apply plugin: 'com.google.gms.google-services'
未添加到模块build.gradle
文件的底部。
您必须只为所有3个库使用一个版本
compile 'com.google.firebase:firebase-messaging:11.0.4'
compile 'com.google.Android.gms:play-services-maps:11.0.4'
compile 'com.google.Android.gms:play-services-location:11.0.4'
或者仅对3个库使用10.0.1
谷歌播放服务要求其所有依赖项具有相同的版本。但是,如果你看看你的依赖:
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.google.Android.gms:play-services-maps:11.0.4'
compile 'com.google.Android.gms:play-services-location:11.0.4'
有一个版本不同。
可以通过将版本更改为(在本例中)11.0.4
来解决。
这适用于Firebase和Google Play服务 - 两者都必须具有相互匹配的匹配版本。如果Firebase依赖项为10.0.1
且Google Play服务依赖项为11.0.4
,则会出现相同的错误。
请注意,在某些情况下,可能有一个库具有不同版本的库(例如,库x
使用play-services-games:10.0.1
,而您使用11.0.4
作为应用程序中的依赖项)
这个答案不包括版本个别的新版本。更新com.google.gms:google-services:4.1.0
并检查 mvnrepository (或其他一些maven/gradle artifact搜索工具)以查找最新版本。
为了正确安装fire base,所有版本的fire base compiles必须在同一个版本中
compile 'com.google.firebase:firebase-messaging:11.0.4'
compile 'com.google.Android.gms:play-services-maps:11.0.4'
compile 'com.google.Android.gms:play-services-location:11.0.4'
这是正确的方法。
同
com.Android.tools.build:gradle:3.2.0
你必须使用:
classpath 'com.google.gms:google-services:4.1.0'
这解决了我的问题
最初,firebase数据库指向11.8.0。将所有相关的jar更改为11.0.4后,此问题在SDK级别得到解决。编译'com.google.firebase:firebase-database:11.0.4'compile'com.google.firebase:firebase-messaging:11.0.4'
与过去不同,Firebase和Play服务依赖项都具有独立版本。如果您有版本冲突,那么您可以更新
com.google.gms:google-services
。并开始定义独立版本。
com.google.gms:google-services
打开项目级别
build.gradle
并将com.google.gms:google-services
更新为版本4.1.0
如果可用,必须检查更新 。
buildscript {
...
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.0'
classpath 'com.google.gms:google-services:4.1.0' //< update this
}
}
Firebase依赖版本可以是单独的。
com.google.firebase:firebase-core:16.0.3 //Analytics, check latest too
com.google.firebase:firebase-database:16.0.2 //Realtime Database, check latest too
播放服务版本也可以有单独的版本。
com.google.Android.gms:play-services-ads:17.1.2 //Ads, check latest too
com.google.Android.gms:play-services-analytics:16.0.6 //Analytics, check latest too
还有问题吗? 您可以通过阅读这个答案来检查哪个依赖项发生了冲突。
如消息所示: com.google.gms.google-services versions
并复制最新版本的号码。我的不到3.3.1。然后在项目的build.gradle put/change dependencies节点中:
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.2' // as it was before
classpath 'com.google.gms:google-services:3.3.1' // <-- the version change
}
然后我同步了项目并且出错了
所有谷歌服务应该是相同的版本,尝试 匹配 每个 版本 。
正确的是:
implementation 'com.google.firebase:firebase-auth:11.6.0'
implementation 'com.google.firebase:firebase-database:11.6.0'
不正确的配置是:
implementation 'com.google.firebase:firebase-auth:11.6.0'
implementation 'com.google.firebase:firebase-database:11.8.0'