Конфликт с зависимостью «com.android.support:support-annotations». Разрешенные версии для приложения (23.3.0) и тестового приложения (23.1.1) отличаются

Я столкнулся с этим исключением при добавлении эспрессо в проект Android. Я уже пробую ссылку с этим исключением

**Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.3.0) and test app (23.1.1) differ**

также я добавляю следующую строку в соответствии с другой веткой, которую я нашел

**androidTestCompile 'com.android.support:support-annotations:23.1.0'**

Но проблема все еще сохраняется. Я использую следующие конфигурации:

buildToolsVersion "23.0.2"

androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'

Любые идеи, спасибо.


person axcellinx    schedule 11.04.2016    source источник
comment
Вы пытались запустить ./gradlew -q app:dependencies, чтобы увидеть, какая библиотека вызывает конфликт?   -  person IgorGanapolsky    schedule 18.06.2016
comment
Перейдите по ссылке: stackoverflow.com/a/36835268/3779239 Эта ссылка решит вашу проблему.   -  person Sanjay Mallur    schedule 08.03.2017


Ответы (6)


Это решает проблему «Разрешенные версии для приложения (24.0.0-beta1) и тестового приложения (23.0.1) различаются» для меня.

android{    
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:23.0.1'
    }
}

И не забудьте добавить следующий код, если хотите запустить AndroidTest

 defaultConfig {
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
person liushan CHEN    schedule 08.06.2016
comment
Это единственный ответ, который сработал для меня. Нужно поставить configurations.all внизу блока dependencies. - person IgorGanapolsky; 18.06.2016

В настоящее время, когда вы создаете новый проект в Android Studio, он по умолчанию добавляет эту зависимость:

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

Раздел exclude, вероятно, предназначен для того, чтобы избежать конфликта, упомянутого в вопросе. Я также столкнулся с этой проблемой при попытке добавить зависимости runner:0.5 и rules:0.5. Мое решение состояло в том, чтобы применить к ним тот же фрагмент кода, что и выше:

androidTestCompile ('com.android.support.test:runner:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

androidTestCompile ('com.android.support.test:rules:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

Меня устраивает. Надеюсь, поможет.

person Mateus Gondim    schedule 29.11.2016

библиотека аннотаций используется всеми тремя правилами зависимостей: 0.5', runner: 05 и espresso-core: 2.2.2, поэтому у меня сработало следующее

androidTestCompile 'com.android.support.test:runner:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestCompile 'com.android.support.test:rules:0.5', {
    exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
}
person Anuj Jindal    schedule 12.06.2017

Проект Rebuild решил проблему.

В студии Android на панели инструментов.. Build>Rebuild Project.

person Waleed Abdalmajeed    schedule 16.08.2018

сompile 'com.android.support:support-annotations:23.3.0'
androidTestCompile ("com.android.support.test:runner:0.5"){
   exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test:rules:0.5'){
   exclude group: 'com.android.support'
}

это решение

person Michael Gaev    schedule 27.04.2016
comment
Почему это решит проблему? Я не понимаю. Я пробовал, ничего не решает. - person IgorGanapolsky; 18.06.2016
comment
Версии моих зависимостей: ‹!-- language: gradle --› androidGradleToolsVersion = '2.1.0' androidBuildToolsVersion = '23.0.2' androidSDKVersion = 23 androidSupportLibVersion = '23.3.0' ‹!-- language: lang-none --› попробуй его поменять. Или попробуйте использовать последние версии. Но я думаю, что вам все равно нужно будет использовать фрагмент кода выше. - person Michael Gaev; 20.06.2016

person    schedule
comment
наверное про другую библиотеку? добавить туда все библиотеки com.android.support... для androidTestCompile - person Frank; 25.07.2016
comment
Спасибо... androidTestCompile 'com.android.support:support-annotations:XX.XX.XX' версия вашего приложения - person Pierry; 31.08.2016
comment
Gradle работает нормально, но показывает ошибку для androidTestCompile 'com.android.support.test:rules:0.5' для разных версий версий библиотеки поддержки - person NilayDani; 22.12.2016