Подтвердить что ты не робот

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

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

Edit:

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

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, и он работал нормально, произошла ошибка после обновления

Edit:

Gradle Version 2.10
Gradle Plugin Version 2.0.0
buildToolsVersion "23.0.3"
4b9b3361

Ответ 1

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

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

Он решил мою проблему.

Ответ 2

Для тех, кто все еще сталкивается с проблемой, выше ответ не помог мне в 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

Ответ 3

Просто проиллюстрируйте ответ Akshayraj

Оригинальный 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'
}

Ответ 4

У моего 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 сборка завершится неудачно, если основной 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.

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

(нирвана)

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'
}

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

/*
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"
}