Android Studio - сбой компиляции Gradle

Моя компиляция по какой-то причине не работает, но раньше она работала нормально.

Это ошибка, которую я получаю при попытке скомпилировать проект:

Program type already present: android.support.design.widget.CoordinatorLayout$Behavior
Message{kind=ERROR, text=Program type already present: android.support.design.widget.CoordinatorLayout$Behavior, sources=[Unknown source file], tool name=Optional.of(D8)}

(Сборка) app.iml:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "appjoe.wordpress.com.testdemo"
        minSdkVersion 23
        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(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:support-v4:26.1.0'
    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'
    implementation 'com.android.support:design:26.1.0'

    // picasso and volley
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'eu.the4thfloor.volley:com.android.volley:2015.05.28'

    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    // rxjava & rxandroid
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.16'

    // glide
    implementation 'com.github.bumptech.glide:glide:4.7.1'

    // android views
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
}

Я также получаю сообщение об ошибке для второй зависимости в области зависимостей:

Все библиотеки com.android.support должны использовать одну и ту же спецификацию версии (смешивание версий может привести к сбоям во время выполнения). Нашел версии 27.1.1, 27.1.0, 26.1.0. Примеры включают com.android.support:support-compat:27.1.1 и com.android.support:exifinterface:27.1.0 меньше ... (Ctrl + 1)

Некоторые комбинации библиотек или инструментов и библиотек несовместимы или могут привести к ошибкам. Одна из таких несовместимостей - это компиляция с версией библиотек поддержки Android, которая не является последней версией (или, в частности, версией ниже вашей targetSdkVersion).


person Apurv    schedule 21.07.2018    source источник
comment
измените свою зависимость скольжения на это - реализация 'com.github.bumptech.glide: glide: 4.0.0'   -  person Rohit Suthar    schedule 21.07.2018
comment
Взгляните на этот ответ: stackoverflow.com/a/51415063/6672577   -  person Shahzad Afridi    schedule 21.07.2018
comment
Измените версию библиотеки поддержки 27.1.1, а также измените версию 27 компиляции sdk.   -  person Shahzad Afridi    schedule 21.07.2018
comment
@RohitSuthar спасибо, это сработало. Как мне закрыть этот вопрос?   -  person Apurv    schedule 22.07.2018


Ответы (1)


Это связано с тем, что в зависимости некоторые библиотеки (кроме библиотек поддержки) использовали версию поддерживаемых библиотек, отличную от вашей, поэтому вы получаете эту ошибку. у вас смешанные зависимости библиотек поддержки версий 26 и 27.

Итак, вам необходимо использовать соответствующую библиотеку поддержки версии 27.1.1. Измените свой build.gradle на что-то вроде этого:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27 // use version 27
    defaultConfig {
        applicationId "appjoe.wordpress.com.testdemo"
        minSdkVersion 23
        targetSdkVersion 27 // targeting api version 27
        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(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:support-v4:27.1.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'
    implementation 'com.android.support:design:27.1.1'

    // picasso and volley
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'eu.the4thfloor.volley:com.android.volley:2015.05.28'

    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    // rxjava & rxandroid
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.16'

    // glide
    implementation 'com.github.bumptech.glide:glide:4.7.1'

    // android views
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
}

ИЛИ

Обновите версию ваших библиотек до новой версии. Просто удерживайте курсор на каждой библиотеке. Студия Android сама вам скажет, что в этой библиотеке доступна новая версия.

person Shahzad Afridi    schedule 21.07.2018