Ошибка поддержки библиотеки Android после обновления до 23.3.0

Привет, я использую поддержку android v4 23.1.1 и недавно попытался обновить ее до 23.3.0 (последняя, ​​когда это было задано), но я получил следующую ошибку:

Ошибка: конфликт с зависимостью «com.android.support:support-annotations». Разрешенные версии для приложения (23.3.0) и тестового приложения (23.1.1) различаются. Подробнее см. Http://g.co/androidstudio/app-test-app-conflict .

До сих пор я нашел https://code.google.com/p/android/issues/detail?id=206137

Я пошел на обе ссылки, но я не мог исправить свою проблему, как я могу исправить эту проблему?

Редактировать:

У меня это в моих зависимостях

compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:recyclerview-v7:23.3.0' compile 'com.android.support:cardview-v7:23.3.0' compile 'com.android.support:design:23.3.0' 

Предварительно все версии были 23.1.1 и он отлично справился с ошибкой после обновления

Редактировать:

 Gradle Version 2.10 Gradle Plugin Version 2.0.0 buildToolsVersion "23.0.3" 

Для тех людей, которые все еще сталкиваются с этой проблемой, просто добавьте эту строку в свои зависимости.

 androidTestCompile 'com.android.support:support-annotations:23.3.0' 

Это решило мою проблему.

Для тех, кто все еще сталкивается с проблемой, выше ответ не помог мне в Android-версии 2.2 Preview.

Добавьте это в свой файл gradle.

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

Это исправило мою проблему.

Ссылка: https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140

Просто проиллюстрируем ответ Акшайрая

Оригинальный файл Gradle:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

Полученная ошибка:

Ошибка: конфликт с зависимостью «com.android.support:support-annotations» в проекте «приложение».
Разрешенные версии для приложения (25.1.0) и тестового приложения (23.1.1) отличаются.
Подробнее см. http://g.co/androidstudio/app-test-app-conflict . "

FIXED, когда я добавил:

 androidTestCompile 'com.android.support:support-annotations:25.3.0' 

Конечный файл:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

Мой orignal app.gradle имел:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

Что привело к следующей ошибке:
Ошибка: конфликт с зависимостью «com.android.support:support-annotations». Разрешенные версии для приложения (23.4.0) и тестового приложения (22.2.0) различаются. Подробнее см. http://g.co/androidstudio/app-test-app-conflict .

После прочтения ссылки, предложенной по ошибке, я нашел тезисы строк:

Когда проводятся контрольные тесты, оба основных APK и APK теста имеют один и тот же путь к классам. Gradle build не сработает, если основной APK и тестовый APK используют одну и ту же библиотеку (например, Guava), но в разных версиях. Если град не поймал этого, ваше приложение могло бы вести себя по-разному во время тестов и во время обычного прогона (включая сбой в одном из случаев).

Поэтому я изменил свои зависимости app.gradle:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.3.0' androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

Даже после вышеупомянутого изменения град не был доволен :-(:
Ошибка: конфликт с зависимостью «com.android.support:support-annotations». Разрешенные версии для приложения (23.4.0) и тестового приложения (23.3.0) отличаются. Подробнее см. http://g.co/androidstudio/app-test-app-conflict .

Изменение в версии теста apk было другим! Поэтому я изменил строку версии, как показано ниже, которая работала для меня:

(Nirvana)

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // main APK // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.4.0' //test APK androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

Вы должны использовать ту же версию для APK приложений и androidTest. Для этого укажите ту же версию, что и ваше приложение,

 androidTestCompile 'com.android.support:support-annotations:24.1.1' 

Где 24.1.1 – номер версии зависимости, используемой в вашем приложении

 compile 'com.android.support:design:24.1.1' 
 /* Resolves dependency versions across test and production APKs, specifically, transitive dependencies. This is required since Espresso internally has a dependency on support-annotations. */ configurations.all { resolutionStrategy.force "com.android.support:support-annotations:$rootProject.supportLibraryVersion" }