Conflit avec la dépendance ‘com.android.support:support-annotations’ dans le projet ‘: app’. Les versions résolues pour l’application (26.1.0) et l’application de test (27.1.1) diffèrent.

Je suis nouveau sur le développement d’applications Android. Lorsque j’ai essayé de créer un nouveau projet, Android Project … le message suivant est apparu.

Erreur: L’exécution a échoué pour la tâche ‘: app: preDebugAndroidTestBuild’.

Conflit avec la dépendance ‘com.android.support:support-annotations’ dans le projet ‘: app’. Les versions résolues pour l’application (26.1.0) et l’application de test (27.1.1) diffèrent. Voir https://d.android.com/r/tools/test-apk-dependency-conflicts.html pour plus de détails. Informations: Tâches Gradle [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar]

Ceci est la capture d’écran de mon projet, cliquez ici pour voir la capture d’écran de l’erreur que j’ai eu

J’ai aussi essayé d’append ce code à ma dépendance. androidTestComstack ‘com.android.support:support-annotations:23.3.0’ cela n’a pas fonctionné. J’ai aussi essayé le 27.1.1 et le 26.1.0 .. cela n’a pas fonctionné non plus.

Sur la base de votre capture d’écran, j’ai trouvé deux solutions de travail:

Première solution : append aux dépendances de votre module gradle cette ligne

comstack 'com.android.support:support-annotations:27.1.1' 

et synchroniser votre projet

Remarque: si vous utilisez le studio Android 3+, comstack pour l’ implementation

Deuxième solution : Configurez les propriétés à l’échelle du projet figurant dans la documentation https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties

dans le projet append cette ligne:

 // This block encapsulates custom properties and makes them available to all // modules in the project. ext { // The following are only a few examples of the types of properties you can define. comstackSdkVersion = 26 // You can also use this to specify versions for dependencies. Having consistent // versions between modules can avoid behavior conflicts. supportLibVersion = "27.1.1" } 

Ensuite, pour accéder à cette section, modifiez la ligne comstackSdkVersion à

comstackSdkVersion rootProject.ext.comstackSdkVersion

et dans dependencies section dependencies modifiez la bibliothèque imscope pour être comme ceci:

 comstack "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" 

et synchroniser votre projet

Remarque: si vous utilisez le studio Android 3+, comstack pour l’ implementation

Pour la différence entre comstack et implementation regardez ce qui est la différence entre l’implémentation et la compilation dans gradle

Ajoutez la ligne ci-dessous dans votre fichier app.gradle avant le blocage des dépencences.

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

Il y a aussi une capture d’écran ci-dessous pour une meilleure compréhension.

Configurations.all bloc

  1. le bloc configurations.all ne sera utile que si vous voulez que votre sdk cible soit 26. Si vous pouvez le changer à 27, l’erreur disparaîtra sans l’ajout du bloc de configuration dans le fichier app.gradle.

  2. Il y a un autre moyen si vous supprimez toute l’implémentation de test du fichier app.gradle, cela résoudrait l’erreur et dans ce cas aussi vous n’avez pas besoin d’append le bloc de configuration ni de changer la version targetdk.

J’espère que cela pourra aider.

Ceci est dû à un conflit de versions, pour le résoudre, forcez simplement une mise à jour de votre version de support-annotations, en ajoutant cette ligne sur votre module: app gradle

implementation ('com.android.support:support-annotations:27.1.1')

J’espère que cela résout votre problème;)

modifier

Presque oublié, vous pouvez déclarer une seule propriété supplémentaire ( https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties ) pour la version, allez dans votre fichier de projet (ou votre fichier principal) et déclarez votre support, ou juste pour cet exemple, la version d’annotation var

ext.annotation_version = "27.1.1"

Ensuite, dans votre module, remplacez-le par:

implementation ("com.android.support:support-annotations:$annotation_version")

Ceci est très similaire à la solution @emadabel, qui est une bonne alternative, mais sans le bloc ou le préfixe du projet rootproject .

Si vous utilisez Android Studio 3.1. + Ou supérieur

Il suffit de mettre ceci dans vos dépedences de gradle:

 implementation 'com.android.support:support-annotations:27.1.1' 

Globalement, comme ceci:

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

L’ajout de ceci à build.gradle (application de module) a fonctionné pour moi:
comstackr ‘com.android.support:support-annotations:27.1.1’

Ne vous inquiétez pas, c’est simple:

Allez dans la structure du répertoire “Project” et dans ce cas allez à “Gradle Scripts” et à l’intérieur, allez dans “build.gradle (Module: app)” et double-cliquez dessus.

Maintenant – Faites défiler le programme et allez dans la section dépendances: Comme ci-dessous


dépendances {

 implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.2' 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' 

}


Maintenant, dans ce supprimer les deux dernières lignes de code et reconstruire l’application et maintenant il fonctionnera

Les dépendances doivent être:


dépendances {

 implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.2' testImplementation 'junit:junit:4.12' 

}


Reconstruire l’application et ça marche !!

Un autre moyen simple de résoudre ce problème consiste à modifier votre build.gradle (app):

  1. Accédez à la balise android et modifiez comstackSdkVersion 26 pour comstackSdkVersion 27
  2. Accédez à la balise defaultConfig et remplacez targetSdkVersion 26 par targetSdkVersion 27
  3. Entrer dans dependencies balises de dependencies et modifier l’ implementation 'com.android.support:appcompat-v7:26.1.0' en implementation 'com.android.support:appcompat-v7:27.1.1'

J’ai le même problème, dans build.gradle (Module: app), ajoutez la ligne de code suivante dans les dépendances:

 dependencies { ... comstack 'com.android.support:support-annotations:27.1.1' } 

Cela a fonctionné pour moi parfaitement

Si modifier la version de sdk cible ne vous aide pas, si vous avez une dépendance avec la version 3.0.2 changez-la en 3.0.1 .

par exemple changer

 androidTestImplementation 'com.android.support.test.espresso:espresso-consortingb:3.0.2' 

à

 androidTestImplementation 'com.android.support.test.espresso:espresso-consortingb:3.0.1' 

Accédez à la build.gradle (App Module) de votre projet:

entrer la description de l'image ici

Suivez la photo et changez ces versions:

 comstackSdkVersion: 27 targetSdkVersion: 27 

et si Android Studio version 2: Changez la ligne avec cette ligne:

 comstack 'com.android.support:appcompat-v7:27.1.1' 

sinon Changer la ligne avec cette ligne:

 implementation 'com.android.support:appcompat-v7:27.1.1' 

et j’espère que vous allez résoudre votre bug.

Une meilleure solution est expliquée dans l’explication officielle . J’ai laissé la réponse que j’ai donnée auparavant sous la ligne horizontale.

Selon la solution:

Utilisez une balise externe et notez le code suivant dans le fichier build.gradle de niveau supérieur . Vous allez changer la version en variable plutôt qu’en version statique.

 ext { comstackSdkVersion = 26 supportLibVersion = "27.1.1" } 

Modifiez les numéros de version statiques dans votre fichier build.gradle au niveau de l’application, celui que vous avez (Module: app) .

 android { comstackSdkVersion rootProject.ext.comstackSdkVersion // It was 26 for example // the below lines will stay } // here there are some other stuff maybe dependencies { implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" // the below lines will stay } 

Synchronisez votre projet et vous n’obtiendrez aucune erreur.


Vous n’avez pas besoin d’append quoi que ce soit aux scripts Gradle. Installez les SDK nécessaires et le problème sera résolu.

Dans votre cas, installez les bibliothèques ci-dessous à partir de Préférences> SDK Android ou Outils> Android> Gestionnaire de SDK

entrer la description de l'image ici