Gradle 使用带有最新支持库的 admob 15.0.0 时发生冲突

Gradle conflict when using admob 15.0.0 with the lastest support library

我正在使用 'com.google.android.gms:play-services-ads:12.0.1'。 android 支持版本 27.1.1。

当我尝试将我的广告库升级到最新版本 (15.0.0) 时,我收到一条错误消息,提示我必须使用相同的版本规范。见下图。

有没有办法为 supportLibraries 和 play-services-ads 使用最新版本?

请注意,我使用play-services-ads 12.0.1版本时不存在这个问题

将所有库更改为与您的情况有冲突的最低版本,将您的一些库从 27.1.1 更改为 26.1.0。

您可以尝试通过将支持库添加到依赖项块来覆盖冲突的支持库:

implementation 'com.android.support:customtabs:27.1.1'

我恢复到 12.0.1

implementation 'com.google.firebase:firebase-ads:12.0.1'

在我看来 Google 需要解决这个问题。

2018 年 5 月 4 日更新:

Firebase-15.0.1 依赖于最新的 google 服务

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

看到这个blog post

然而,当我升级 google 服务 3.3.0 和 firebase-15.0.1 时,我 运行 遇到了其他我无法解决的问题。使用 Google-Services 3.3.0,gradle 抱怨我导入的库模块:

implementation project(':lib')

Gradle 错误:

More than one variant of project :lib matches the consumer attributes:

- Configuration ':lib:debugApiElements' variant android-aidl:
  - Found artifactType 'android-aidl' but wasn't required.
  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' and found compatible value 'debug'.
  - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
  - Required 
com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
  - Required org.gradle.usage 'java-api' and found compatible value 

所以我再次建议不要升级。