为了账号安全,请及时绑定邮箱和手机立即绑定

Gradle 同步失败:com.google.android.gms:play-services

Gradle 同步失败:com.google.android.gms:play-services

温温酱 2022-01-12 14:18:59
我正在尝试将 firebase 包含在我的 android 项目中,如官方 firebase 文档中所述。该应用程序非常基础,使用 Google 的视觉 API。我得到的错误:Gradle 同步失败:无法通知依赖解析侦听器。[[11.0.4,11.0.4], [15.0.1,15.0.1]] 的各种其他库正在请求库 com.google.android.gms:play-services-basement,但解析为 15.0。 1. 禁用插件并使用 ./gradlew :app:dependencies 检查您的依赖关系树。我已经从网站上发布的类似问题中尝试了一些对我不起作用的解决方案。更重要的是,我想了解根本原因,而不是盲目地修补版本。以下是我的 gradle 文件:模块级apply plugin: 'com.android.application'/* ... */    dependencies {    implementation fileTree(include: ['*.jar'], dir: 'libs')    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:2.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'    implementation 'com.google.android.gms:play-services:11.0.4'    implementation 'com.google.firebase:firebase-core:16.0.1'}apply plugin: 'com.google.gms.google-services'项目级别// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        google()        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:3.2.1'        classpath 'com.google.gms:google-services:4.0.1'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        google()        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}运行./gradlew app:dependencies给出:无法通知依赖解析侦听器。[[11.0.4,11.0.4], [15.0.1,15.0.1]] 的各种其他库正在请求库 com.google.android.gms:play-services-basement,但解析为 15.0。 1. 禁用插件并使用 ./gradlew :app:dependencies 检查您的依赖关系树。[[11.0.4,11.0.4]] 的各种其他库正在请求库 com.google.firebase:firebase-common,但解析为 16.0.0。禁用插件并使用 ./gradlew :app:dependencies 检查您的依赖关系树。
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

更新以下内容:

        classpath 'com.google.gms:google-services:4.0.1'

对此:

        classpath 'com.google.gms:google-services:4.1.0'

也如文档中所述:

注意:不要使用组合play-services目标。它引入了数十个库,使您的应用程序膨胀。相反,只指定您的应用使用的特定 Google Play 服务 API。

因此,删除此:

 implementation 'com.google.android.gms:play-services:11.0.4'

并添加具有更新版本的特定 google play 服务 api,例如 implementation 'com.google.android.gms:play-services-auth:16.0.1'

还将 firebase-core 更新为版本 16.0.4

在这里查看更多信息:

https://developers.google.com/android/guides/setup


当您收到此错误时:

[[15.0.1,15.0.1]] 的各种其他库正在请求库 com.google.android.gms:play-services-basement,但解析为 16.0.1。

这意味着您在 gradle 中使用的直接依赖项(在 google maven 存储库中)正在使用传递依赖项com.google.android.gms:play-services-basement

在这种情况下,firebase-core:16.0.1使用play-services-basement:15.0.1最新版本的play-services-basementis 16.0.1,因此您会收到此错误。

您还可以在 2018 年 10 月 2 日检查这一点,他们执行了以下操作:

对其他使用的一些核心库(play-services-auth、play-services-base、play-services-basement、play-services-flags、play-services-stats、play-services-tasks)进行了较小的内部功能更新Google Play 服务库。

他们还发布了com.google.android.gms:play-services-basement:16.0.1com.google.firebase:firebase-core:16.0.4


查看完整回答
反对 回复 2022-01-12
  • 1 回答
  • 0 关注
  • 371 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号