com.google.android.gms:play-services-measurement-base 正在被其他各种库请求

Posted

技术标签:

【中文标题】com.google.android.gms:play-services-measurement-base 正在被其他各种库请求【英文标题】:com.google.android.gms:play-services-measurement-base is being requested by various other libraries 【发布时间】:2018-11-07 16:48:57 【问题描述】:

我更新到 gradle 4.0.1 并开始收到以下错误

库 com.google.android.gms:play-services-measurement-base 是 [[15.0.4,15.0.4]] 的各种其他图书馆正在请求,但是 解析为 15.0.2。禁用插件并检查您的依赖项 使用 ./gradlew :app:dependencies 的树。

我的项目没有使用该依赖项,所以我在全球范围内搜索它,它只出现在内部

build/intermediates/lint-cache/maven.google/com/google/android/gms/group-index.xml

这条线

<play-services-measurement-base versions="15.0.0,15.0.2"/>

所以我尝试删除我的构建文件夹并清理项目,但它使用相同的值重新生成它:/因此错误仍然存​​在

【问题讨论】:

在这里解决: 我在尝试在 firebase 中添加 crashlytics 时也遇到了同样的问题。请为 com.google.android.gms:play-servicescom.google.firebase: ...... 更新最新版本的依赖项。它会自动解决问题 我有最新版本,但出现此错误,因此降级到 15.0.1 并且它有效! 请转至this issue 并加注星标。似乎有很多问题,因为有很多库未从 jCenter 发布。 【参考方案1】:

只需输入以下代码:

    implementation 'com.google.firebase:firebase-core:16.0.6'
    implementation 'com.google.firebase:firebase-database:16.0.6'

并重建。它对我来说很好用

【讨论】:

【参考方案2】:

firebase-core & firebase-database ... 应该是相同的版本:

实施 'com.google.firebase:firebase-core:16.0.1' 实施 'com.google.firebase:firebase-database:16.0.1'

【讨论】:

【参考方案3】:

我有同样的问题,然后我解决了偶然的实现 'com.google.firebase:firebase-auth:15+' 而不是实现 'com.google.firebase:firebase-auth:16.1.0'

【讨论】:

【参考方案4】:

这是一个简单的解决方案。 问题是因为您对一个库使用最新版本,而对另一个库使用较低版本。尝试平衡它。最好的解决方案是为所有库使用最新版本。 要解决您的问题,只需单击here 并查看最新版本的库并将其包含在您的项目中,然后进行同步。 就我而言,以下内容对我有用:

dependencies
    implementation 'com.google.firebase:firebase-core:16.0.7'
    implementation 'com.google.firebase:firebase-database:16.1.0'

apply plugin: 'com.google.gms.google-services'

【讨论】:

【参考方案5】:

用版本号替换“+”,它将选择最新版本。 像这样:

implementation 'com.google.firebase:firebase-analytics:+'

【讨论】:

永远不要那样做。这是一个非常糟糕的答案,它可能导致您现在永远不会发生的多次崩溃和更改。因为这总是会请求新版本的库。 只是说使用最新版本应该没有问题。但它可能会。这整个问题来自尝试使用最新版本。【参考方案6】:

这可以通过使用最新的依赖集来解决。

你可以在下面的网站上找到最新的

https://firebase.google.com/support/release-notes/android#20180523

再次发布该同步,它应该可以正常工作

【讨论】:

【参考方案7】:

当我尝试对所有内容使用相同的版本时,我遇到了类似的错误:

implementation 'com.google.android.gms:play-services-base:16.0.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.0'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.firebase:firebase-messaging:16.0.0'

当我执行以下操作时,问题已解决:

1) 使用每个服务的最新版本:

implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.8'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.2.0'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.6.0'

2) 将 Android Studio 升级到今天可用的最新版本 (Android Studio 3.4)。

3) 将 Android Gradle 插件版本升级到 3.4.0,将 Gradle 版本升级到 5.1.1。

【讨论】:

【参考方案8】:

我遇到了同样的错误,但我的情况不同,我同时使用了 Audience Network 和 Firebase。

我收到了这个错误

Android 依赖项 'com.google.android.gms:play-services-basement' 的编译 (11.0.4) 和运行时 (16.0.1) 类路径的版本不同。您应该通过 DependencyResolution 手动设置相同的版本

如果您使用的是audience-network,这里是解决方案

implementation ("com.facebook.android:audience-network-sdk:$rootProject.fb_version")

    exclude group: 'com.google.android.gms'

【讨论】:

【参考方案9】:

我已经使用了所有最新的依赖项。原来我错过了AndroidManifest 的权限。添加此权限修复了错误:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

如他们的文档中所述: https://developers.google.com/android/guides/permissions

【讨论】:

【参考方案10】:

原因

当您的一个或多个 firebase 或 google play 服务库是旧版本时,会发生此错误。

解决方案

只需更新所有库到最新版本。

如果您必须使用旧版本(例如出于制裁或其他原因),请按照以下说明操作:

googleServices.disableVersionCheck = true 添加到 app/build.Gradle 文件的末尾 运行项目并找到重复库或存在依赖问题的库 添加它们以排除旧库。

示例

// remote config uses the old version
implementation('com.google.firebase:firebase-config:16.1.3')    
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-analytics-impl'
    exclude group: 'com.google.android.gms', module: 'play-services-measurement'
    exclude group: 'com.google.android.gms', module: 'play-services-measurement-impl'

implementation 'com.google.firebase:firebase-analytics:17.4.0'
implementation 'com.google.firebase:firebase-messaging:20.1.6'
implementation 'com.google.firebase:firebase-crashlytics:17.0.0'

【讨论】:

以上是关于com.google.android.gms:play-services-measurement-base 正在被其他各种库请求的主要内容,如果未能解决你的问题,请参考以下文章