在项目 'app' 中,已解决的 Google Play 服务库依赖项依赖于另一个确切版本

In project 'app' a resolved Google Play services library dependency depends on another at an exact version

尝试使用 FireStore 和 Google 身份验证创建一个简单的应用程序。 gradle:

有问题

In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0. 1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

Dependency failing: com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement@[ 15.0.1], but play-services-basement version was 16.0.1.

The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art ifact with the issue. -- Project 'app' depends onto com.google.firebase:firebase-firestore@17.1.5 -- Project 'app' depends onto com.firebaseui:firebase-ui-auth@4.2.0

For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https:// github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b uild.gradle file.

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "myapp.com"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 11
            versionName "1.1"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation 'com.google.firebase:firebase-firestore:17.1.5'

        implementation 'com.firebaseui:firebase-ui-auth:4.2.0'

    }

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

项目gradle:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'

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

    }
}

有人可以帮助我吗?

问题是它缺少依赖项。 添加 com.google.firebase:firebase-auth 解决了这个问题。

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-firestore:17.1.5'

//    implementation'com.google.firebase:firebase-core:16.0.6'
//    implementation'com.google.firebase:firebase-storage:16.0.5'

    implementation'com.google.firebase:firebase-auth:16.1.0' => add this line
    implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
}

将我所有的 Google Play 服务库更新到所有模块中的最新版本为我解决了这个问题。我没有看到您有任何 Google Play 服务库,但我想把这个答案留给那些可能觉得有用的人。

谢谢,但不幸的是,这对我来说并不完全有效。我还必须将以下内容添加到我的 build.grade (Module:app)

implementation 'com.google.android.gms:play-services-flags:16.0.1'
implementation 'com.google.android.gms:play-services-basement:16.0.1'

known bug Google Services 4.2.0 可能会导致此问题。在项目 build.gradle 中将 google-services 版本降级到 4.1.0 可能会解决问题

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.1.0' //decreased from 4.2.0
    }
}

将FCM添加到您的应用程序中添加了较低的依赖然后我将依赖更改为最新版本这个问题已经解决了

compile 'com.google.firebase:firebase-messaging:17.3.4'

implementation 'com.google.firebase:firebase-messaging:20.0.0'

我在我的项目中将最新版本的 firebase 消息添加到 build.gradle(模块:应用程序)并解决了问题

implementation 'com.google.firebase:firebase-messaging:20.0.0'

我的工作解决方案是删除 "firebase-auth" 并添加 "firebase-core" 依赖项。但是在几次项目重建之后,我开始遇到另一个编译问题,所以除了 "firebase-core" 之外,我还必须添加 "firebase-auth" 依赖项才能使其工作:

implementation 'com.google.firebase:firebase-auth:19.0.0'
implementation 'com.google.firebase:firebase-core:17.0.1'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'

这里有许多针对个别解决方案的答案,但并未真正解决问题。 这里是解决这个问题的一般方法:

如原始日志输出所示,运行 使用以下命令在终端中构建很有用:

./gradlew --info assembleDebug

这将为您提供冲突中涉及的所有依赖项的列表。它看起来与此类似(我删除了包名称的内容以使其更具可读性):

Dependency Resolution Help: Displaying all currently known paths to any version of the dependency: Artifact(groupId=com.google.firebase, artifactId=firebase-iid)

-- task/module dep -> firebase-analytics@17.2.0
---- firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
------ play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> firebase-core@17.2.0
---- firebase-core:17.2.0 library depends -> firebase-analytics@17.2.0
------ firebase-analytics:17.2.0 library depends -> play-services-measurement-api@17.2.0
-------- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> play-services-measurement-api@17.2.0
---- play-services-measurement-api:17.2.0 library depends -> firebase-iid@19.0.0

-- task/module dep -> firebase-iid@19.0.0

-- task/module dep -> firebase-messaging@17.1.0
---- firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]

-- task/module dep -> com.pressenger:sdk@4.8.0
---- com.pressenger:sdk:4.8.0 library depends -> firebase-messaging@17.1.0
------ firebase-messaging:17.1.0 library depends -> firebase-iid@[16.2.0]

从这个列表中,您可以了解两件事:

  1. 在哪里找到冲突的依赖关系
  2. 设置了哪些版本的冲突依赖

在我的例子中,冲突的依赖是 firebase-iid:它是 @19.0.0@16.2.0

要解决此问题,您必须在 build.gralde.

中明确定义错误 firebase-iid 的顶级依赖项

所以在上面的日志中你可以看到有2个过时版本的firebase-iid@16.2.0的例子。一个来自 -- task/module dep -> firebase-messaging@17.1.0 另一个来自第三方库 (pressenger)。我们对第三方库没有影响,所以这里无事可做。 但是对于其他依赖项,我们必须使用正确的版本显式声明它:

implementation 'com.google.firebase:firebase-messaging:20.0.0'

现在构建再次运行。幸福的结局:)

我的项目运行良好(没有构建问题)。突然间,我得到了这个错误

"resolved Google Play services library dependency depends on another at an exact version.."

我发现是因为我在离线构建。

如果有人遇到同样的错误,检查您是否正在离线构建

这是我遇到的新事情,如果您的网络不安全并且您收到不受信任证书的提示。

如果您接受或拒绝,它将给出此错误,直到您的网络不安全为止。

您可以通过检查 设置 -> Gradle -> 离线模式

来离线工作

有一个与 google 服务相关的错误,最终在版本 4.3.3 中得到修复。

因此您可以使用 4.3.3 或 latest version (check here)

classpath 'com.google.gms:google-services:4.3.3' // or latest version

或降级到 4.1.0

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

None 其他答案对我有用。我的用例是 React-Native 61+ 尝试设置 FCM 和 Analytics。对我有用的是在 android/build.gradle

中使用最新的 google-services
dependencies {
    classpath "com.android.tools.build:gradle:3.4.2"
    classpath "com.google.gms:google-services:4.3.3" // Need the latest here
}

然后将 gradle 依赖项添加到 android/app/build.gradle 我正在使用的产品(在我的例子中是 Analytics 和 Cloud Messaging)所需的 here

dependencies {
    ...
    // add the Firebase SDK for Google Analytics
    implementation 'com.google.firebase:firebase-messaging:20.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    ...
}

您的 app/build.gradle 可能会在 Android Studio 中的依赖项部分遮挡这些柠檬色,如下图所示,

这些(柠檬色块)表示它不是最新版本的依赖项。只需将鼠标放在每个块上,然后 IDE (Android Studio) 会告诉必须更改的数字。

如果您使用 song haesuk 答案,您需要为 build.gradle 项目(依赖项中的类路径)和 build.gradle 应用程序(实现)。如果您更改导入到应用程序的任何库的构建,也执行相同的操作。

我使用了 android studio 提供的建议,它改变了实现但没有改变依赖关系,因此在构建过程中,两者之间存在冲突,它给了我同样的错误。

在我的项目 build.gradle:

中升级这个库后问题得到解决
classpath 'com.google.gms:google-services:4.3.3'

以及应用模块 build.gradle 中的这些:

implementation 'com.google.firebase:firebase-core:17.3.0'
implementation 'com.google.firebase:firebase-messaging:20.1.5'

在此之后,使用 Android Studio 的 Clean 菜单

当我不小心添加了两次不同版本的 com.google.firebase:firebase-ml-vision 时,我复制了这个问题。

在您的项目 build.gradle 中添加以下行(见下图)

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

然后通过以下方式更新您的 Firebase 相关包:

文件 > 项目结构 > 依赖项 > 应用程序

将 Firebase 模块更新到最新版本(见下图)

就我而言,我使用的是:

implementation 'com.google.firebase:firebase-database:19.3.0'
implementation 'com.google.firebase:firebase-auth:19.3.1'
implementation 'com.google.firebase:firebase-messaging:20.1.7'
implementation 'com.google.firebase:firebase-core:17.4.0'
implementation 'com.google.firebase:firebase-storage:19.1.1'

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

别忘了补充:

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

请参阅下面我模块的 build.gradle 文件。

我通过简单地清除应用程序级依赖项块来解决它,只留下默认的 Android 依赖项,如下所示:

dependencies {
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
  implementation 'androidx.multidex:multidex:2.0.0'
}

我刚刚亲自尝试了@live-love 的 并同意这种方法。

但是,根据 the latest Google Services library version 更正您的依赖项可能更准确。

就我而言,它发生在我 added/activated 为应用程序提供 Firebase 服务时。

您需要在项目和Gradle应用程序中遵循最新版本。

我的app/build.gradle

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    //Android Support Design Library
    implementation 'com.android.support:design:27.1.1'
    //RecyclerView
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    // Support multidex
    implementation 'com.android.support:multidex:1.0.3'
    // Firebase Core
    // implementation 'com.google.firebase:firebase-core:16.0.1'
    //Firebase Authentication
    implementation 'com.google.firebase:firebase-auth:19.3.1'
    // Firestore Firestore
    implementation 'com.google.firebase:firebase-firestore:21.4.3'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    // glide
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

    // Circle ImageView
    implementation 'de.hdodenhof:circleimageview:2.2.0'
}
apply plugin: 'com.google.gms.google-services'

我的项目build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:3.5.3'
    classpath 'com.google.gms:google-services:4.3.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

不要忘记再次同步 Gradle。

我正在使用 One Signal 并且每次都捕获到这个错误。

原因是:

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'

'com.android.application' 之前放置一个信号 apply plugin。 也许这对其他 apply plugin 也有用。

This worked for me!

dependencies {
    classpath "com.android.tools.build:gradle:3.4.2"
    classpath "com.google.gms:google-services:4.3.3" // Need the latest here
}

dependencies {
    ...
    // add the Firebase SDK for Google Analytics
    implementation 'com.google.firebase:firebase-messaging:20.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    ...
}

ML Kit 库在最新版本中存在版本控制问题。

Google Play services library dependency depends on another at an exact version error (thrown by the google-services plugin)

这里是 link 的解决方案。 https://firebase.google.com/support/release-notes/android#bom_v25-8-0