库必须使用相同的版本错误

时间:2018-04-18 07:23:17

标签: android android-studio build.gradle android-support-library

每当我将Glide库添加到app.gradle时我都会收到此错误,我无法摆脱它。

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。发现   版本27.1.1,26.1.0。例子包括   com.android.support:support-compat:27.1.1和   com.android.support:animated-vector-drawable:26.1.0 less ...(Ctrl + F1)

     

有一些库,或工具和库的组合   是不兼容的,或可能导致错误。一个这样的不兼容性是   使用不支持的Android支持库版本进行编译   最新版本(或特别是低于您的版本的版本   targetSdkVersion。)

构建文件如下所示:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.david.six_month"
        minSdkVersion 15
        multiDexEnabled true
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    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:26.1.0'
    implementation 'com.android.support:support-v4:26.1.0'


    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation 'commons-net:commons-net:3.6'
    implementation 'com.github.bumptech.glide:glide:4.7.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}

6 个答案:

答案 0 :(得分:1)

将此项添加到项目级build.gradle文件中,它将强制所有Android支持库使用相同的版本

allprojects {
    ...

    configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support') {
                details.useVersion 'your library version here'
            }
        }
    }
}

答案 1 :(得分:1)

似乎Glide正在使用更新版本的支持库。您可以使用其他支持库来使用最新版本,或者如果由于其他原因您无法执行此操作,请从Glide库中排除支持库,如下所示:

implementation ('com.github.bumptech.glide:glide:4.7.1', {
    exclude group: 'com.android.support'
})

annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'

答案 2 :(得分:1)

例如,您的错误:

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。发现   版本27.1.1,26.1.0。例子包括   com.android.support:support-compat:27.1.1和   com.android.support:animated-vector-drawable:26.1.0 less ...(Ctrl + F1)

*解决方案是编译这些库的版本:

implementation 'com.android.support:animated-vector-drawable:27.1.1'

- 如果另一个库有同样的问题,并且有另一个版本只是用你的支持编译它:appcompat版本

这解决了我的问题,我希望它可以解决你的问题。

祝福:)

答案 3 :(得分:0)

您需要有一个定义配置的部分来强制需要使用的库的特定实现。例如,

configurations.all {
    resolutionStrategy {
        force 'com.android.support:design:25.3.1'
        force 'com.android.support:support-v4:25.3.1'
        force 'com.android.support:appcompat-v7:25.3.1'
    }
}

答案 4 :(得分:0)

我遇到了这个错误:

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。找到了   版本27.1.1、26.1.0。例子包括   com.android.support:animated-vector-drawable:27.1.1和   com.android.support:support-media-compat:26.1.0

然后我在build.gradle - Module:app中添加了 Design 依赖关系,它解决了该问题:

implementation 'com.android.support:design:27.1.1'

答案 5 :(得分:0)

由于Glide库导致此错误。请尝试使用毕加索图像加载器或其他图像加载器