Gradle 版本冲突

Gradle Version conflicts

在我尝试更新 sdk 版本(到 27)和 lib 版本之前,我的 build.gradle 一直很好。

在我的 build.gradle 中,我现在有:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.google.android.gms:play-services-ads:15.0.1'

    implementation 'com.google.firebase:firebase-crash:16.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.1'
    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'
}

我收到一条错误消息:

  Please fix the version conflict either by updating the version of the google-services plugin 
(information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 15.0.1.

..但如您所见,它是 15.0.1。

另外,我在

下方有一条波浪形的红色下划线
implementation 'com.android.support:appcompat-v7:27.1.1'

当我将鼠标悬停在上方时,我得到:

all support libraries must use the exact same version ... found versions 27.1.1 and 26.1.0

但我没有看到任何 26.1.0。

我做错了什么?

进入android studio,然后在出现的window中按File -> Invalidate Caches / Restart,按Invalidate and Restart,问题可能出在Cached版本, 为我工作)

您需要更新主 build.gradle 文件:

如果您使用的是 android studio 3.1.2,那么在您的 build.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.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.0.1' // you need to update this most probably.
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

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

在你模块的 build.gradle 文件 implementcustom tabs 的最新版本在你的情况下是 27.1.1

'com.android.support:customtabs:27.1.1'

我也有类似的问题。更新后。幸运的是在经历了很多线程后解决了这个问题。

由于您使用的是 Firebase,我建议更新 crashlytics。由于旧版本已弃用。

buildscript {

    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.0.1' 
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
}

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

现在是依赖项

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.app.abc"
        minSdkVersion 19
        targetSdkVersion 27
        ......
        }
}

dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api 'com.android.support:appcompat-v7:27.1.1'
    api 'com.android.support:support-v4:27.1.1'
    api 'com.android.support:design:27.1.1'


    //crash analytics
    api 'com.crashlytics.sdk.android:crashlytics:2.9.3'
    api 'com.google.firebase:firebase-crash:11.8.0'

    //Google Maps. You can avoid this, as I was using location services as well
    api 'com.google.android.gms:play-services-maps:12.0.1'
    api 'com.google.android.gms:play-services-places:12.0.1'
    api 'com.google.android.gms:play-services:12.0.1'
    api 'com.google.android.gms:play-services-location:12.0.1'

  }

错误提示您存在依赖冲突。我曾经在 expresso 测试中遇到过这个问题。您要做的是排除 expresso 测试库的其他依赖项。

androidTestCompile ('com.android.support.test.espresso:espresso-core:3.0.2'){
    exclude module: 'support-annotations'
    exclude module: 'support-v4'
    exclude module: 'support-v13'
    exclude module: 'recyclerview-v7'
    exclude module: 'design'
}