错误:在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本

时间:2019-02-09 13:39:57

标签: android android-gradle build.gradle

尝试编译项目时出现以下错误

错误:在项目“应用”中,已解析的Google Play服务库依赖项依赖于另一个版本(例如“ [15.0。 1]”,但尚未解决该版本。该库显示的行为将是未知的。

这是我的应用gradle文件

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'
            }
        }
    }

}

这是我的项目gradle文件

// 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
}

And I'm getting the following error

ERROR: 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@15.0.0
-- Project 'app' depends onto com.google.firebase:firebase-storage-common@15.0.0
-- Project 'app' depends onto com.google.firebase:firebase-common@16.0.4
-- Project 'app' depends onto com.google.android.gms:play-services-basement@16.0.1
-- Project 'app' depends onto com.firebaseui:firebase-ui-database@3.3.1
-- Project 'app' depends onto com.google.firebase:firebase-auth@15.0.0
-- Project 'app' depends onto com.google.android.gms:play-services-tasks@16.0.1
-- Project 'app' depends onto com.firebaseui:firebase-ui-auth@3.3.1
-- Project 'app' depends onto com.google.firebase:firebase-analytics-impl@16.3.0
-- Project 'app' depends onto com.google.firebase:firebase-analytics@16.3.0
-- Project 'app' depends onto com.firebaseui:firebase-ui-storage@3.3.1
-- Project 'app' depends onto com.firebaseui:firebase-ui-firestore@3.3.1
-- Project 'app' depends onto com.google.android.gms:play-services-auth-api-phone@15.0.1
-- Project 'app' depends onto com.google.android.gms:play-services-measurement-api@16.3.0
-- Project 'app' depends onto com.google.android.gms:play-services-measurement-base@16.3.0
-- Project 'app' depends onto com.google.firebase:firebase-iid@17.0.3
-- Project 'app' depends onto com.google.android.gms:play-services-auth@15.0.0
-- Project 'app' depends onto com.google.android.gms:play-services-stats@16.0.1
-- Project 'app' depends onto com.firebaseui:firebase-ui@3.3.1
-- Project 'app' depends onto com.google.firebase:firebase-storage@15.0.0
-- Project 'app' depends onto com.google.android.gms:play-services-flags@15.0.1
-- Project 'app' depends onto com.google.firebase:firebase-database@16.0.6
-- Project 'app' depends onto com.google.android.gms:play-services-auth-base@15.0.0
-- Project 'app' depends onto com.google.android.gms:play-services-base@16.0.1
-- Project 'app' depends onto com.google.firebase:firebase-iid-interop@16.0.1
-- Project 'app' depends onto com.google.android.gms:play-services-ads-identifier@16.0.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.

请帮助

4 个答案:

答案 0 :(得分:2)

此问题可能是由于您的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

答案 1 :(得分:0)

按如下所示导入您的依赖项

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'

答案 2 :(得分:0)

也导入以下行。

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'

答案 3 :(得分:0)

根据Firebase文档,为2020年更新新的可能答案:

不再需要Firebase Android库firebase-core。这个 SDK包括适用于Google Analytics(分析)的Firebase SDK。

现在,要使用Google Analytics(分析)或建议使用的任何Firebase产品 的Analytics(分析)(请参见下表),您需要显式添加 Analytics(分析)依存关系: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'