Android gms.google.services版本(15.0.1)与Firebase Core 16.0.0冲突

时间:2018-06-10 04:47:35

标签: android firebase gradle google-play-services

此处已经提出了类似的问题,我已经完成了所有可以找到的内容并尝试了所有解决方案。

问题

“所有GMS / Firebase必须使用完全相同的版本” - 我可以看到以下Google服务库存在版本冲突,这些库不是针对16.0.0版本专门针对任何build.gradle文件编写的firebase核心库:

  • com.google.android.gms:播放服务的广告标识符-15.0.1
  • com.google.android.gms:玩服务碱基15.0.1
  • com.google.android.gms:发挥服务地下室-15.0.1
  • com.google.android.gms:播放服务测量碱基15.0.4
  • com.google.android.gms:发挥服务 - 统计 - 15.0.1

Here是我的项目级build.gradle,here是我的应用级build.gradle。如您所见,错误消息来自firebase核心依赖项。

到目前为止我所做的工作是检查现有的Stack Overflow问题和解决方案(mod,请在说出这个问题之前请先查看这些尝试):

  1. SO question提供了一个解决方案,可确保在SDK工具/支持信息库下安装最新的Google信息库。我的版本是58版的最新版本。
  2. SO questionthis的解决方案是增加Firebase版本以匹配Google服务版本。但是,我的另一种方式(firebase版本高于Google Services版本)。因此,当我尝试将firebase版本降级为Google服务版本时,我会得到此error。但是,我不知道如何升级Google服务版本,因为我已经将Google Services SDK工具升级到最新版本,而我在项目级别上添加的内容build.gradle(4.0.1)是截至今天的最新版本。 Google的文档。
  3. SO problem的解决方案是保持所有firebase依赖版本相同。到目前为止我只添加了一个依赖项(即firebase-core),因此它不适用于此。
  4. This一个和this一个说明确保在应用级build.gradle的末尾添加apply plugin: 'com.google.gms.google-services'。我已经做到了。

2 个答案:

答案 0 :(得分:1)

尝试更新您拥有的所有内容。从SDK Manager,Android Studio等开始。尝试使用28作为targetSdkVersioncompileSdkVersion,并将Android Studio Gradle Tools(也在您的依赖项中)更新为最新版本。

然后重建您的项目。

答案 1 :(得分:0)

关于保持所有版本相同的指导不再正确。参见https://developers.google.com/android/guides/releases#may_2_2018https://developers.google.com/android/guides/versioning#remove_old_anti-pattern

基本上,使用15.0.0及更高版本的Google Play服务和Firebase库,您不再需要将所有依赖项保持在同一版本,实际上,不同的库可能未必都具有相同的版本。

此外,Android Studio SDK管理器中的Google存储库不再更新。您应该改用Google的Maven存储库(https://developer.android.com/studio/build/dependencies#google-maven