【问题标题】:play-services-measurement-base version mismatch between google and maven repositorygoogle 和 maven 存储库之间的 play-services-measurement-base 版本不匹配
【发布时间】:2019-01-30 21:48:09
【问题描述】:

我正在尝试构建一个 android react native 应用程序,我们同时使用 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。

  • 版本:
    • 等级:4.4
    • Gradle Android 工具:3.1.3
    • Gradle Google 服务插件:4.0.1
    • Android SDK 版本:27
    • Buildscript 存储库:google(), jcenter()

临时解决方案:从 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' } 或检查接受的答案。

【问题讨论】:

  • 您提到使用 Buildscript 存储库:google()。你在 allprojects.repositories 中也有 google() 吗?你能发布你的 build.gradle 文件吗?
  • 我的问题已解决,但感谢您的帮助。这是 gradle 文件:gist.github.com/ou2s/7e73604c0c259a3bdcc648a979af177a

标签: android gradle google-play-services bintray jcenter


【解决方案1】:

您可以强制分辨率为特定版本号:

configurations.all() {
    resolutionStrategy.force "com.google.android.gms:play-services-measurement-base:16.0.2"
}

或来自冲突模块com.google.firebase:firebase-coreexclude版本16.0.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    相关资源
    最近更新 更多