我正在尝试构建一个我们同时使用Google Analytics(分析)和Firebase的android react本地应用,并且在编译时遇到了此问题:
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联系。
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'
}
或检查接受的答案。
答案 0 :(得分:0)
您可以将分辨率强制为特定的版本号:
configurations.all() {
resolutionStrategy.force "com.google.android.gms:play-services-measurement-base:16.0.2"
}
或冲突模块exclude
的{{1}}版本16.0.0
。