Erreur de bibliothèque de support Android après la mise à jour vers 23.3.0

J’ai utilisé Android Support v4 23.1.1 et récemment essayé de le mettre à jour à 23.3.0 (le dernier quand cela a été demandé) mais j’ai eu l’erreur suivante:

Erreur: conflit avec la dépendance ‘com.android.support:support-annotations’.
Les versions résolues pour l’application (23.3.0) et l’application de test (23.1.1) diffèrent.
Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails.

Jusqu’à présent, j’ai trouvé ceci https://code.google.com/p/android/issues/detail?id=206137

Je suis allé sur les deux liens mais je ne pouvais pas résoudre mon problème, comment puis-je résoudre ce problème?

Modifier:

Je les ai dans mes dépendances

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

Auparavant, toutes les versions étaient 23.1.1 et ça marchait bien L’erreur s’est produite après la mise à jour

Modifier:

 Gradle Version 2.10 Gradle Plugin Version 2.0.0 buildToolsVersion "23.0.3" 

Pour les personnes confrontées à ce problème, ajoutez cette ligne à vos dépendances.

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

Cela a résolu mon problème.

METTRE À JOUR:

Si vous avez cette erreur de nos jours, vous pouvez simplement insérer le nouveau code de version ( 23.3.0 dans ce cas, ou 27.1.1 en mai 18) tel que décrit dans l’erreur dans la solution décrite ci-dessus.

Pour ceux qui sont encore confrontés au problème, la réponse ci-dessus ne m’a pas aidé dans android studio 2.2 Preview.

ajoutez ceci à votre dossier de graduation.

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

Cela a corrigé mon problème.

Référence: https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140

Simplement illustrer la réponse d’Akshayraj

Fichier d’origine Gradle:

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

Erreur reçue:

Erreur: conflit avec la dépendance ‘com.android.support:support-annotations’ dans le projet ‘: app’.
Les versions résolues pour l’application (25.1.0) et l’application de test (23.1.1) diffèrent.
Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails. ”

FIXE quand j’ai ajouté:

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

Fichier final:

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

Mon app.gradle original avait:

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

ce qui a entraîné l’erreur suivante:
Erreur: conflit avec la dépendance ‘com.android.support:support-annotations’. Les versions résolues pour l’application (23.4.0) et l’application de test (22.2.0) diffèrent. Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails .

Après avoir lu le lien suggéré par erreur, j’ai trouvé ces lignes:

Lorsque les tests d’instrumentation sont exécutés, l’APK principal et l’AP de test partagent le même chemin de classe. Gradle build échouera si l’AP principal et l’APK de test utilisent la même bibliothèque (par exemple Guava) mais dans des versions différentes. Si gradle ne l’a pas compris, votre application pourrait se comporter différemment pendant les tests et lors d’une exécution normale (y compris lors d’une panne dans l’un des cas).

J’ai donc modifié mes dépendances app.gradle pour:

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

Même après le changement ci-dessus, le classement n’était pas heureux :-(:
Erreur: conflit avec la dépendance ‘com.android.support:support-annotations’. Les versions résolues pour l’application (23.4.0) et l’application de test (23.3.0) diffèrent. Voir http://g.co/androidstudio/app-test-app-conflict pour plus de détails.

Changer de version apk de test était différent! J’ai donc modifié la chaîne de version collée ci-dessous, qui fonctionnait pour moi:

(Nirvana)

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

Il m’a fallu du temps pour sortir de cette erreur. Mais c’est ce qui a fonctionné pour moi, essayez-le:

NOTE: J’utilise comstackSdkVersion 26

J’ai supprimé à la fois androidTestImplementation ‘com.android.support.test: runner: 1.0.2’ & androidTestImplementation ‘com.android.support.test.espresso: espresso-core: 3.0.2’ dans le bloc des dépendances dans build.gradle (Module : app). Donc j’ai fini avec ça:

 apply plugin: 'com.android.application' android { comstackSdkVersion 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' comstack 'com.android.support:design:26.1.0' comstack 'com.android.support:cardview-v7:26.1.0' comstack 'com.android.support:recyclerview-v7:26.1.0' comstack 'com.getbase:floatingactionbutton:1.9.0' comstack 'de.hdodenhof:circleimageview:2.1.0' testImplementation 'junit:junit:4.12' } 

J’espère que cela vous sera utile!

Vous devez utiliser la même version pour les applications et les applications Android. Pour ce faire, spécifiez la même version que votre application,

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

où 24.1.1 est le numéro de version de la dépendance utilisée dans votre application

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

Pour moi, la version de l’outil de construction doit s’aligner sur les versions de dépendance . La version de l’outil de construction est donc 26.1.0 , la version de dépendance de Gradle doit s’y 26.1.0 .

Le moyen le plus simple est de créer une variable de version et de l’utiliser. Voir l’exemple ci-dessous

 ext { buildVersion = '26.1.0' } dependencies { comstack "com.android.support:appcompat-v7:${buildVersion}" } 
  1. Ouvrir Android Studio

  2. Accédez au projet> Scripts Gradle> build.gradle (Module: app)

  3. Ajoutez des dependencies {androidTestComstack 'com.android.support:support-annotations:xx.x.x'}

  4. Vous pouvez remplacer xx.xx à la version qui affiche une erreur

  5. Enregistrer le script Gradle

  6. Projet de construction

J’espère que ça va marcher! 🙂

Il a été résolu après avoir ajouté la dernière ligne:

 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' comstack 'com.android.support:support-annotations:27.1.1'} 

supprimer la dépendance de test du fichier build.gradel pour résoudre les problèmes

Excluez simplement les “annotations”. Aucun mal ne sera fait

 androidTestComstack('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" }