google 和 Maven 存储库之间的 play-services-measurement-base 版本不匹配

play-services-measurement-base version mismatch between google and maven repository

我正在尝试构建一个 android React 本机应用程序,我们在其中同时使用 Google Analytics 和 Firebase,我 运行 在编译时遇到了这个问题:

The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.0.0,16.0.0]], but resolves to 16.0.2. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

分析我们的 gradle 扫描后(见下图),我们发现我们有一个模块需要 com.google.firebase:firebase-core,另一个模块需要 com.google.android.gms:play-services-analytics

这两个模块都需要 play-services-measurement-base,但由于这些模块是在不同的存储库中下载的(一个是 google,另一个是 maven)。我们注意到版本 16.0.2 仅在 google 存储库中发布,而不是在 Maven 的存储库中发布(查看下图)。

我们尝试禁用依赖项检查,但没有成功。如果有人对此问题有解决方案或可以就此问题联系 google/maven。

临时解决方案: 像这样从 Firebase 中明确排除 play-services-measurement-base implementation("com.google.firebase:firebase-core:16.0.1") { exclude group: 'com.google.android.gms', module: 'play-services-measurement-base' } 或检查已接受的答案。

您可以强制解析为特定版本号:

configurations.all() {
    resolutionStrategy.force "com.google.android.gms:play-services-measurement-base:16.0.2"
}
来自冲突模块 com.google.firebase:firebase-core

exclude 版本 16.0.0