【发布时间】:2018-09-14 10:37:23
【问题描述】:
我使用最新版本的com.google.firebase:firebase-core:16.0.3 和最新版本的com.google.firebase:firebase-messaging:17.3.1。但是它们依赖于com.google.firebase:firebase-iid依赖的不同版本(16.0.0和17.0.1):
firebase-core:16.0.3 依赖于firebase-iid:16.0.0:
com.google.firebase:firebase-core:16.0.3
+--- com.google.firebase:firebase-analytics:16.0.3
| +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| +--- com.google.android.gms:play-services-measurement-api:[16.0.1] -> 16.0.1
| | +--- com.google.android.gms:play-services-ads-identifier:15.0.1
| | | \--- com.google.android.gms:play-services-basement:[15.0.1,16.0.0) -> 15.0.1 (*)
| | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | +--- com.google.android.gms:play-services-measurement-base:[16.0.2] -> 16.0.2
| | +--- com.google.android.gms:play-services-stats:15.0.1
| | | \--- com.google.android.gms:play-services-basement:[15.0.1] -> 15.0.1 (*)
| | +--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | +--- com.google.firebase:firebase-analytics-impl:[16.2.1] -> 16.2.1
| | | +--- com.google.android.gms:play-services-ads-identifier:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-measurement-base:[16.0.2] -> 16.0.2
| | | +--- com.google.android.gms:play-services-stats:15.0.1 (*)
| | | +--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | | +--- com.google.firebase:firebase-common:16.0.1
| | | | +--- com.google.android.gms:play-services-basement:15.0.1 (*)
| | | | \--- com.google.android.gms:play-services-tasks:15.0.1 (*)
| | | \--- com.google.firebase:firebase-iid:16.0.0
firebase-messaging:17.3.1 依赖于firebase-iid:17.0.1:
com.google.firebase:firebase-messaging:17.3.1
+--- com.google.android.gms:play-services-basement:15.0.1 (*)
+--- com.google.android.gms:play-services-tasks:15.0.1 (*)
+--- com.google.firebase:firebase-common:16.0.1 (*)
+--- com.google.firebase:firebase-iid:[17.0.1] -> 17.0.1 (*)
因此,android google play services 插件因以下错误而失败:“[[17.0.1,17.0.1]] 的各种其他库正在请求库 com.google.firebase:firebase-iid,但解析为 16.0 .0. 禁用插件并使用 ./gradlew :app:dependencies 检查您的依赖关系树。”。
这是一个错误吗?有什么解决方案可以解决这个问题吗?
【问题讨论】:
-
你的
com.google.gms:google-services:(来自项目级 Gradle 的 Google Play 服务插件) 是什么版本? -
com.google.gms:google-services 是
4.1.0 -
当我将此插件降级到
3.2.1时,它不会使构建失败,但随后android gradle插件会抛出异常:Caused by: java.lang.RuntimeException: Android dependency 'com.google.firebase:firebase-iid' has different version for the compile (16.0.0) and runtime (17.0.1) classpath. You should manually set the same version via DependencyResolution