支持库必须使用完全相同的版本规范

时间:2018-02-07 12:03:08

标签: android android-support-library

我尝试使用特定的活动运行我的应用程序,并且我正在发生连续崩溃。

我已经找到了与appcompat版本有关的错误。但是,我不确定如何修复此错误,即获取所有依赖于同一版本。

我想知道是否有快速解决方法吗?如果没有,确保它们都在正确/相同的版本上的步骤是什么?

build.gradle(模块:应用)

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.benchalmers.myapplication"
        minSdkVersion 15
        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:design:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:26.1.0'
    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'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    compile 'com.android.volley:volley:1.1.0'
    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}

这是给我的错误:

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。发现   版本27.0.2,26.1.0。例子包括   com.android.support:support-compat:27.0.2和   com.android.support:animated-vector-drawable:26.1.0 less ...(⌘F1)   有一些库,或工具和库的组合   是不兼容的,或可能导致错误。一个这样的不兼容性是   使用不支持的Android支持库版本进行编译   最新版本(或特别是低于您的版本的版本   targetSdkVersion。)

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

更新您的依赖项,如下所示:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:design:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:27.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'
    compile 'com.android.support:recyclerview-v7:27.0.2'
    compile 'com.android.support:cardview-v7:27.0.2'
    compile 'com.android.volley:volley:1.1.0'
    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}

如错误消息所示:项目中存在支持库的冲突版本。您需要做什么来“修复”它,然后确保您的支持库版本相同(最好是最新版本)。

为了简化此过程,您还可以使代码看起来像这样:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    def supportLibraryVersion = "27.0.2"
    implementation "com.android.support:support-v4:$supportLibraryVersion"
    implementation "com.android.support:design:$supportLibraryVersion"
    implementation "com.android.support:support-v4:$supportLibraryVersion"
    compile "com.android.support:recyclerview-v7:$supportLibraryVersion"
    compile "com.android.support:cardview-v7:$supportLibraryVersion"

    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'

    compile 'com.android.volley:volley:1.1.0'

    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}

另外,正如Michael Dodd所建议的那样,为了使用支持库版本27.0.2,您还需要碰撞compileSdkVersion

android {
    ...
    compileSdkVersion 27
    ...
}