Je suis nouveau dans 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 de la tâche ': app: preDebugAndroidTestBuild' a échoué.
Conflit avec la dépendance 'com.android.support:support-annotations' dans le projet ': app'. Les versions résolues de l'application (26.1.0) et de 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. Information: 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 obtenue
J'ai également essayé d'ajouter ce code à ma dépendance .. androidTestCompile 'com.android.support:support-annotations:23.3.0' cela n'a pas fonctionné. J'ai aussi essayé 27.1.1 et 26.1.0 .. qui n'ont pas fonctionné non plus.
Réponses:
Sur la base de votre capture d'écran, j'ai trouvé deux solutions fonctionnelles:
Première solution : ajoutez aux dépendances de votre module gradle cette ligne
et synchronisez votre projet
Remarque: si vous utilisez Android Studio 3+, passez
compile
àimplementation
Deuxième solution : configurer les propriétés à l'échelle du projet trouvées dans la documentation https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties
dans le projet gradle, ajoutez cette ligne:
Ensuite, pour accéder à cette section, changez de
compileSdkVersion
ligne pour êtrecompileSdkVersion rootProject.ext.compileSdkVersion
et à la
dependencies
section, changez la bibliothèque importée pour qu'elle ressemble à ceci:et synchronisez votre projet
Remarque: si vous utilisez Android Studio 3+, passez
compile
àimplementation
Pour la différence entre
compile
etimplementation
regardez ceci Quelle est la différence entre l'implémentation et la compilation dans gradlela source
Ajoutez la ligne ci-dessous dans votre fichier app.gradle avant le bloc de dépendances.
Il y a aussi une capture d'écran ci-dessous pour une meilleure compréhension.
le bloc configurations.all ne sera utile que si vous voulez que votre sdk cible soit 26. Si vous pouvez le changer en 27, l'erreur disparaîtra sans ajouter le bloc de configuration dans le fichier app.gradle.
Il y a un autre moyen si vous supprimiez toute l'implémentation du test du fichier app.gradle, cela résoudrait l'erreur et dans ce cas également, vous n'avez pas besoin d'ajouter le bloc de configuration ni de changer la version de targetdk.
J'espère que cela pourra aider.
la source
Si vous utilisez la version 26, la version à l' intérieur des dépendances doit être 1.0.1 et 3.0.1, c'est-à-dire comme suit
Si vous utilisez la version 27, la version des dépendances internes doit être 1.0.2 et 3.0.2, c'est-à-dire comme suit
la source
Si vous utilisez Android Studio 3.1. + Ou supérieur
mettez simplement ceci dans vos dépendances de niveau:
Globalement comme ceci:
la source
Cela est dû à un conflit de versions, pour le résoudre, il suffit de forcer 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;)
Éditer
Presque oubliée, 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, aller dans votre fichier gradle du projet (ou de votre top), et déclarez votre support, ou juste pour cet exemple, annotation version var
ext.annotation_version = "27.1.1"
Ensuite, dans votre module gradle remplacez-le par:
implementation ("com.android.support:support-annotations:$annotation_version")
Ceci est très similaire à la solution @emadabel, qui est une bonne alternative pour le faire, mais sans le bloc, ni le
rootproject
préfixe.la source
L'ajout de ceci à build.gradle (application Module) a fonctionné pour moi:
compilez 'com.android.support:support-annotations:27.1.1'
la source
Ne vous inquiétez pas, c'est simple:
Allez dans la structure du répertoire "Projet" et dans cela, allez dans "Scripts Gradle" et à l'intérieur, allez dans "build.gradle (Module: app)" et double-cliquez dessus.
Maintenant - Faites défiler le programme et accédez à la section des dépendances: comme ci-dessous
dépendances {
}
Maintenant, dans ce Supprimez les deux dernières lignes de code et reconstruisez l'application et maintenant cela fonctionnera
Les dépendances doivent être:
dépendances {
}
RECONSTRUISEZ L'APPLICATION ET CELA FONCTIONNE !!
la source
Accédez à build.gradle (Module App) dans votre projet:
Suivez la photo et changez ces versions:
et si android studio version 2: changez la ligne avec cette ligne:
else Changez la ligne avec cette ligne:
et j'espère que vous résoudrez votre bogue.
la source
Ajoutez ceci à votre fichier gradle.
la source
Un autre moyen simple de résoudre ce problème consiste à modifier votre
build.gradle
(application):android
tag et changezcompileSdkVersion 26
encompileSdkVersion 27
defaultConfig
tag et changeztargetSdkVersion 26
entargetSdkVersion 27
dependencies
taguer et changerimplementation 'com.android.support:appcompat-v7:26.1.0'
enimplementation 'com.android.support:appcompat-v7:27.1.1'
la source
J'ai le même problème, dans build.gradle (Module: app), ajoutez la ligne de code suivante à l'intérieur des dépendances:
Cela a parfaitement fonctionné pour moi
la source
Mise à jour importante
Allez au niveau du projet build.gradle, définissez des variables globales
Accédez à build.gradle au niveau de l'application et utilisez des variables globales
build de l'application.
une bibliothèque build.gradle
La solution est de rendre vos versions identiques à celles de tous les modules. Pour que vous n'ayez pas de conflits.
Conseils importants
Ayez toujours des versions les plus récentes mais stables Les versions instables sont
alpha
,beta
etrc
ignorez-les lors du développement.J'ai mis à jour tout ci-dessous dans mes projets, et je ne suis plus confronté à ces erreurs.
build.gradle
-classpath 'com.android.tools.build:gradle:3.2.0'
( Suivre laandroid.build.gradle
version et ceci )buildToolVersion
(Suivre la version buildToolVersion )compileSdkVersion
ettargetSdkVersion
suivreBon codage! :)
la source
Si la modification de la version SDK cible n'aide pas, si vous avez une dépendance avec la version,
3.0.2
changez-la en3.0.1
.par exemple changer
à
la source
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 là-bas:
Utilisez une balise externe et notez le code suivant ci-dessous dans le fichier build.gradle de niveau supérieur . Vous allez changer la version en une variable plutôt qu'en un numéro de version statique.
Modifiez les numéros de version statiques dans votre fichier build.gradle au niveau de l' application , celui qui est
(Module: app)
proche.Synchronisez votre projet et vous n'obtiendrez aucune erreur.
Vous n'avez rien à ajouter aux scripts Gradle. Installez les SDK nécessaires et le problème sera résolu.
Dans votre cas, installez les bibliothèques ci-dessous depuis Préférences> SDK Android ou Outils> Android> Gestionnaire de SDK
la source
Ajoutez cette ligne sous les dépendances dans votre fichier gradle
la source