【问题标题】:error: In project 'app' a resolved Google Play services library dependency depends on another at an exact version错误:在项目“应用程序”中,已解决的 Google Play 服务库依赖项依赖于另一个确切版本
【发布时间】:2019-07-03 13:02:35
【问题描述】:

当我尝试编译我的项目时遇到以下错误

错误:在项目“应用程序”中,已解决的 Google Play 服务库依赖项依赖于另一个确切版本的依赖项(例如“[15.0. 1]",但没有被解析为该版本。库表现出的行为将是未知的。

build.gradle(app)

apply plugin: 'com.android.application'
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.example.spars.myapplication"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    mavenCentral()
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.razorpay:checkout:1.4.5'
    implementation 'com.google.firebase:firebase-database:16.0.6'
    implementation 'com.firebaseui:firebase-ui:3.3.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
    //add start
    implementation "android.arch.lifecycle:extensions:1.1.1"
// Multidex
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.firebase:firebase-analytics:16.3.0'
    //add finish
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:cardview-v7:23.3.0'

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

//added part xxx
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        }
    }

}

build.gradle(project)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
        maven{
            url "https://maven.google.com"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我收到以下错误

错误:在项目“应用程序”中,已解析的 Google Play 服务库 依赖依赖于另一个精确版本(例如“[15.0.1]”, 但没有解决该版本。表现出的行为 库将是未知的。

依赖失败:com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement@[ 15.0.1],但 play-services-basement 版本是 16.0.1。

以下依赖项是直接或直接的项目依赖项 具有传递依赖关系,导致艺术 ifact 与 问题。 -- 项目 'app' 依赖于 com.google.firebase:firebase-firestore@15.0.0 -- 项目 'app' 依赖于 com.google.firebase:firebase-storage-common@15.0.0 -- 项目 'app' 依赖于 com.google.firebase:firebase-common@16.0.4 -- 项目 'app' 依赖于 com.google.android.gms:play-services-basement@16.0.1 -- 项目 'app' 依赖于 com.firebaseui:firebase-ui-database@3.3.1 -- 项目 'app' 依赖于 com.google.firebase:firebase-auth@15.0.0 -- 项目 'app' 依赖于 com.google.android.gms:play-services-tasks@16.0.1 -- 项目 'app' 依赖于 com.firebaseui:firebase-ui-auth@3.3.1 -- 项目 'app' 依赖于 com.google.firebase:firebase-analytics-impl@16.3.0 -- 项目 'app' 依赖于 com.google.firebase:firebase-analytics@16.3.0 -- 项目 'app' 依赖于 com.firebaseui:firebase-ui-storage@3.3.1 -- 项目 'app' 依赖于 com.firebaseui:firebase-ui-firestore@3.3.1 -- 项目 'app' 依赖于 com.google.android.gms:play-services-auth-api-phone@15.0.1 -- 项目 'app' 依赖于 com.google.android.gms:play-services-measurement-api@16.3.0 -- 项目 'app' 依赖于 com.google.android.gms:play-services-measurement-base@16.3.0 -- 项目 'app' 依赖于 com.google.firebase:firebase-iid@17.0.3 -- 项目 'app' 依赖于 com.google.android.gms:play-services-auth@15.0.0 -- 项目 'app' 依赖于 com.google.android.gms:play-services-stats@16.0.1 -- 项目 'app' 依赖于 com.firebaseui:firebase-ui@3.3.1 -- 项目 'app' 依赖于 com.google.firebase:firebase-storage@15.0.0 -- 项目 'app' 依赖于 com.google.android.gms:play-services-flags@15.0.1 -- 项目 'app' 依赖于 com.google.firebase:firebase-database@16.0.6 -- 项目 'app' 依赖于 com.google.android.gms:play-services-auth-base@15.0.0 -- 项目 'app' 依赖于 com.google.android.gms:play-services-base@16.0.1 -- 项目 'app' 依赖于 com.google.firebase:firebase-iid-interop@16.0.1 -- 项目 'app' 依赖于 com.google.android.gms:play-services-ads-identifier@16.0.0

对于扩展调试信息,从命令行执行 Gradle ./gradlew --info :app:assembleDebug 查看依赖路径 神器。此错误消息来自 google-services Gradle 插件,在 https:// 报告问题 github.com/google/play-services-plugins 并通过添加禁用 “googleServices { disableVersionCheck = false }”到您的 b uild.gradle 文件。

请帮忙

【问题讨论】:

    标签: android android-gradle-plugin build.gradle


    【解决方案1】:

    问题可能是由于您的Firebase UI version 与您正在使用的other dependencies of Firebase 版本(其他require a higher Google Play Services version)不兼容。

    如果您查看here,您将看到您的Firebase UI 需要哪些版本。

    也许你应该考虑updating your Firebase UI version,因为当前是4.3.1

    【讨论】:

    • 当我更新 UI 版本时,一切正常,除了 cardView 版本变得不兼容
    • 是的,因为您使用的是 cardview 23.3 和 27.1.1,请从您的 gradle 文件中删除 23.3,然后它应该可以正常工作
    【解决方案2】:

    如下导入你的依赖项

    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    
    
    implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-messaging:17.6.0'
    

    【讨论】:

      【解决方案3】:

      也导入以下行..

      implementation 'com.firebaseui:firebase-ui-auth:4.2.0'
      implementation 'com.google.firebase:firebase-auth:17.6.0'
      implementation 'com.google.firebase:firebase-core:16.0.8'
      implementation 'com.google.firebase:firebase-messaging:19.0.0'
      

      【讨论】:

      • 您也可以在同步 gradle 时使用版本
      【解决方案4】:

      根据 firebase 文件更新 2020 年的新可能答案:

      不再需要 Firebase Android 库 firebase-core。这 SDK 包括用于 Google Analytics 的 Firebase SDK。

      现在,使用 Analytics 或任何推荐使用的 Firebase 产品 的分析(见下表),您需要明确添加 分析依赖:com.google.firebase:firebase-analytics:17.3.0。

      也就是说,你应该删除 firebase-core

      implementation 'com.google.firebase:firebase-core:16.0.3'
      

      并添加 Firebase 分析

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

      【讨论】:

        猜你喜欢
        • 2019-05-31
        • 2023-04-02
        • 2020-04-17
        • 2020-08-24
        • 2019-07-16
        • 1970-01-01
        • 1970-01-01
        • 2019-09-09
        • 1970-01-01
        相关资源
        最近更新 更多