Ошибка поддержки библиотеки 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' 

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

ОБНОВИТЬ:

Если у вас есть эта ошибка в настоящее время, вы можете просто вставить новый код версии ( 23.3.0 в этом случае или 27.1.1 в мае 18), как описано в ошибке в вышеописанном решении.

Для тех, кто все еще сталкивается с проблемой, выше ответ не помог мне в 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 теста используют один и тот же путь к classам. Gradle build не сработает, если основной APK и тестовый APK используют одну и ту же библиотеку (например, Guava), но в разных версиях. Если gradle не поймал это, ваше приложение может вести себя по-разному во время тестов и во время обычного запуска (включая сбой в одном из случаев).

Поэтому я изменил свои зависимости 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' } 

Даже после вышеупомянутого изменения gradle не был счастлив :-(:
Ошибка: конфликт с зависимостью «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' } 

Потребовал мне время, чтобы выбраться из этой ошибки. Но это то, что сработало для меня, попробуйте:

ПРИМЕЧАНИЕ. Я использую compileSdkVersion 26

Я удалил androidTestImplementation ‘com.android.support.test: runner: 1.0.2’ & androidTestImplementation ‘com.android.support.test.espresso: espresso-core: 3.0.2’ в блоке зависимостей в build.gradle (модуль : приложение). Поэтому я закончил с этим:

 apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { applicationId "com.date.brian.cradletest" 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.constraint:constraint-layout:1.1.0' compile 'com.android.support:design:26.1.0' compile 'com.android.support:cardview-v7:26.1.0' compile 'com.android.support:recyclerview-v7:26.1.0' compile 'com.getbase:floatingactionbutton:1.9.0' compile 'de.hdodenhof:circleimageview:2.1.0' testImplementation 'junit:junit:4.12' } 

Надеюсь, это пригодится!

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

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

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

 compile 'com.android.support:design:24.1.1' 

Для меня версия инструмента сборки должна совпадать с версиями зависимостей . Так что скажем, что версия инструмента сборки – 26.1.0 , версия зависимости Gradle должна подчиняться ей.

Самый простой способ – создать переменную версии и использовать ее. См. Пример ниже

 ext { buildVersion = '26.1.0' } dependencies { compile "com.android.support:appcompat-v7:${buildVersion}" } 
  1. Открыть Android Studio

  2. Перейдите в Project> Gradle Scripts> build.gradle (Module: app)

  3. Добавить dependencies {androidTestCompile 'com.android.support:support-annotations:xx.x.x'}

  4. Вы можете заменить xx.xx на версию, которая отображается в ошибке

  5. Сохранить скрипт Gradle

  6. Проект строительства

Надеюсь, это сработает! 🙂

Он был решен после добавления последней строки:

 dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.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' compile 'com.android.support:support-annotations:27.1.1'} 

удалить тестовую зависимость из файла build.gradel для решения проблем

Просто исключите «annotations». Никакого вреда не будет

 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) 
 /* 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" } 
  • Удалить метки BottomNavigationView
  • Обновление библиотеки поддержки 23.2.0 build bug
  • Строка состояния становится белой и не отображает содержимое за ней
  • Давайте будем гением компьютера.