«Все библиотеки com.android.support должны использовать одну и ту же спецификацию версии» при компиляции android.support:appcompat-v7:25.2.0

После обновления Android Studio до версии 3.1.2 я получаю сообщение об ошибке в build.gradle моего приложения:

All com.android.support libraries must use the exact same version specification (...). Found versions 28.0.0-alpha1, 26.1.0. Examples include com.android.support:asynclayoutinflater:28.0.0-alpha1 and com.android.support:animated-vector-drawable:26.1.0

Это мой градл:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "org.hopto.****.musicplayer"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support:design:25.2.0'
    compile 'com.cleveroad:audiowidget:0.9.0'
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    compile 'com.android.support:recyclerview-v7:+'
    testCompile 'junit:junit:4.12'
}

Я попытался решить эту проблему, добавив следующие строки:

compile 'com.android.support:asynclayoutinflater:25.0.0'
compile 'com.android.support:animated-vector-drawable:25.0.0'

Я также пробовал это с другой версией, например 25.2.0 и 25+, но ничего из этого не сработало.

1
0
1 062
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы используете следующие вспомогательные библиотеки:

compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:recyclerview-v7:+' //error here

Как видите, ваша библиотека recyclerview использует «+», который является последней доступной версией, то есть 28.0.0-alpha1 или 26.1.0 (стабильная). В остальном вы используете 25.2.0, поэтому ошибка с несоответствием версии.

Решение состоит в том, чтобы либо изменить версию recyclerview на 25.2.0, либо все на 26.1.0 (включая recyclerview).

Боковое примечание: вам следует избегать использования "+" в номерах версий, так как вы можете столкнуться с неожиданным поведением при обновлении ваших библиотек.

Другие вопросы по теме