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

我正在尝试将 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 检查您的依赖关系树。


温温酱
浏览 372回答 1
1回答

慕盖茨4494581

更新以下内容:        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.1和com.google.firebase:firebase-core:16.0.4
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java