it-swarm.asia

错误:修复版本冲突(google-services插件)

根据 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'


现在需要进行哪些更改?

60
Faizan Mubasher

我想你改变了

compile 'com.google.firebase:firebase-messaging:11.0.4'
54
Adil Saiyad

当抛出相同的错误时

apply plugin: 'com.google.gms.google-services'

未添加到模块build.gradle文件的底部。

36
Arnav Rao

您必须只为所有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

30
Nguyễn Trung Hiếu

谷歌播放服务要求其所有依赖项具有相同的版本。但是,如果你看看你的依赖:

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搜索工具)以查找最新版本。

19
Zoe

为了正确安装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'

这是正确的方法。

5
Joseph

com.Android.tools.build:gradle:3.2.0

你必须使用:

classpath 'com.google.gms:google-services:4.1.0'

这解决了我的问题

5
Blasco73

最初,firebase数据库指向11.8.0。将所有相关的jar更改为11.0.4后,此问题在SDK级别得到解决。编译'com.google.firebase:firebase-database:11.0.4'compile'c​​om.google.firebase:firebase-messaging:11.0.4'

2
vignesh787

重要更新

与过去不同,Firebase和Play服务依赖项都具有独立版本。如果您有版本冲突,那么您可以更新com.google.gms:google-services。并开始定义独立版本。

步骤(1):更新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 
    }
}

步骤(2):更新Firebase依赖项最新版本

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

步骤(3):更新Play服务依赖项最新版本

播放服务版本也可以有单独的版本。

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

还有问题吗? 您可以通过阅读这个答案来检查哪个依赖项发生了冲突。

1
Khemraj

如消息所示: 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                  
        }

然后我同步了项目并且出错了

0
CodeToLife

所有谷歌服务应该是相同的版本,尝试 匹配 每个 版本

正确的是:

  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'
0
Abhishek Sengupta