Android 不兼容的firebase库
我使用最新版本的Android 不兼容的firebase库,android,firebase,Android,Firebase,我使用最新版本的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核心:16.0.3取决于firebase iid:16.0.0: com.google.firebase:firebase-core:16.0.3 +--- com
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核心: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消息传递: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插件因以下错误而失败:“库com.google.firebase:firebase iid正在[[17.0.1,17.0.1]]被其他各种库请求,但解析为16.0.0。禁用插件并使用./gradlew:app:dependencies检查依赖项树。”
这是虫子吗?有解决这个问题的办法吗 使用firebase messaging的最新更新(17.3.2),此更新修复了此特定的不兼容问题。在更新到com.google.gms:google services:4.0.1
后,我遇到了类似的问题
我已通过添加
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
应用插件后的app/build.gradle文件:com.google.gms.google services
看起来像这样
{
dependencies {
//......
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
}
您可以检查版本检查实现。
似乎iid版本应该是20.1或更高
要查找需要更新以更新iid的库,您可以通过执行以下操作来查找依赖iid的firebase库:
/gradlew-q app:dependencyInsight——配置调试编译路径——DependencyFirebase iid你的com.google.gms:google服务:
(来自项目级Gradle的google play services插件)version?com.google.gms:google services是4.1.0
当我将这个插件降级到3.2.1
时,它的构建并没有失败,但是android gradle插件抛出了一个异常:原因是:java.lang.RuntimeException:android依赖项'com.google.firebase:firebase iid'的编译(16.0.0)和运行时版本不同(17.0.1)类路径。您应该通过DependencyResolution手动设置相同的版本