Résolu versions de l'app (22.0.0) et de l'application de test (21.0.3) diffèrent
Après la mise à jour de l'API 22 et le soutien lib révision 22, je reçois le message d'avertissement suivant:
Avertissement:Conflit avec dépendance
'com.android.soutien:le soutien-annotations'. Résolu versions pour app
(22.0.0) et de l'application de test (21.0.3) diffèrent.
Gradle lui-même est plus indulgent, mais Android Studio, pas tellement.
Je n'ai pas de dépendances déclarées avec 21.0.3 ... est l'une des bibliothèques dépendantes à l'aide de 21.0.3 et Google oublié de le mettre à jour avec le reste du lot?
Mon build.gradle
avec les extras découper
android {
compileSdkVersion 22
buildToolsVersion '22'
defaultConfig {
applicationId "com.REDACTED.android"
minSdkVersion 14
targetSdkVersion 22
renderscriptSupportModeEnabled true
versionName '1.0.0'
versionCode 100
}
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
zipAlignEnabled true
signingConfig signingConfigs.debug
}
}
dependencies {
provided 'org.projectlombok:lombok:1.16.2'
googleCompile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.android.support:support-v4:22.0.0'
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:support-v13:22.0.0'
compile 'com.android.support:cardview-v7:22.0.0'
compile 'com.android.support:palette-v7:22.0.0'
compile 'com.android.support:support-annotations:22.0.0'
compile 'com.github.chrisbanes.photoview:library:1.2.3'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'commons-io:commons-io:2.4'
compile 'commons-codec:commons-codec:1.10'
compile 'com.jakewharton:butterknife:6.1.0'
compile 'com.jakewharton:disklrucache:2.0.2'
compile 'com.squareup:otto:1.3.6'
compile 'com.squareup.picasso:picasso:2.5.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
compile 'com.squareup.okio:okio:1.2.0'
compile 'com.flaviofaria:kenburnsview:1.0.6'
compile 'com.edmodo:cropper:1.0.1'
compile 'com.getbase:floatingactionbutton:1.8.0'
compile 'com.nispok:snackbar:2.10.2'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.0'
compile 'in.srain.cube:grid-view-with-header-footer:1.0.9'
compile 'de.hdodenhof:circleimageview:1.2.2'
compile fileTree(dir: 'libs', include: '*.jar')
//Test Only Dependencies
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.0'
}
Mise À Jour: (Merci Marc)
Ressemble à espresso-contrib
+--- com.android.support.test:testing-support-lib:0.1 (*)
\--- com.android.support.test.espresso:espresso-contrib:2.0
+--- com.android.support:recyclerview-v7:21.0.3
| +--- com.android.support:support-annotations:21.0.3
| \--- com.android.support:support-v4:21.0.3
| \--- com.android.support:support-annotations:21.0.3
+--- com.android.support:support-v4:21.0.3 (*)
\--- com.android.support.test.espresso:espresso-core:2.0 (*)
- Le Gradle
dependencies
tâche peut être en mesure pour vous aider à identifier le coupable: gradle.org/docs/current/userguide/... - Merci Mark. Il ressemble à
espresso-contrib
est la cause... - Vous pouvez essayer un
exclude
pour bloquer la 21.0.3 édition derecyclerview-v7
, tirez dans le 22.0.0 édition vous-même, et prier qu'ils sont suffisamment compatibles pourespresso-contrib
besoins de l'. Personnellement, je suis étonné de voir que vous êtes le maintien de votre santé mentale avec une longue liste de dépendances... 🙂 - Yep. Cela a fait le tour. Si vous mettez que jusqu'à que la réponse que je vais vous donner les haricots 🙂 androidTestCompile ('com.android.de soutien.test.expresso:expresso-contrib:2.0') { exclure module: soutien-annotations' }
- Mon problème était avec assertj. Le lancer de que là-bas au cas où il permet à toute personne 🙂
- Vérifier ici pour une solution à ce problème.
- Mon problème a été résolu par la simple android studio redémarrer 🙂
- Vaut la peine d'essayer de @LakhwinderSinghDhillon s 'commentaire ci-dessus pour redémarrer studio. Il a travaillé pour moi 2.
Vous devez vous connecter pour publier un commentaire.
L'étape n ° 1 lorsque vous traitez avec ce genre de chose est d'obtenir à l'aise avec la ligne de commande Gradle.
Étape #2 est de courir le Gradle dépendances rapport (par exemple,
gradle -q app:dependencies
à partir de la racine du projet). Cela permettra de fournir de l'ASCII arbre comme indiqué dans la mise à jour de la question, et il devrait vous aider à identifier ce qui est en demandant le conflit artefact versions.Étape #3 est de décider ce qui doit être remplacé. Vous avez choisi de remplacer juste le conflit (
support-annotations
). Personnellement, je serais allé à la racine du mal-l'arbre de version (recyclerview-v7
), mais pour tout ce que je sais que peut-être pas le meilleur plan d'action dans ce cas.Étape #4 est d'ajouter la
exclude
directive afin de bloquer ce que vous avez choisi à l'Étape #3:Étape #5 est de tester le diable hors de ce changement. Ce que vous faites, c'est dire que
espresso-contrib
a à traiter avec la 22.0.0 édition desupport-annotations
. Cela peut fonctionner. Que peut pas. Il dépend de la compatibilité ascendante du conflit. Dans ce cas,support-annotations
devrait être assez bien à ce sujet.Étape #6 est la consommation de la boisson de votre choix, celle qui correspond à vos paramètres régionaux et le moment de la journée.
exclude group: 'com.android.support', module: 'support-annotations'
depuis votre version soulevé un "ne peut pas déduire les types d'argument" avertissement de gradledependencies
. Voir cet exemple à partir de Chiu-Ki Chan.com.android.support.test:runner:0.5
qui avaient une dépendance surcom.android.support:support-annotations:23.1.1
qui a provoqué cette erreur.gradlew
dans votre répertoire racine du projet, au lieu degradle
.android.support.v4.app.Fragment
). Dans Android, les ressources sont tous rassemblés dans un seul espace de noms, la fusion de toutes les bibliothèques, en plus de l'application des ressources propres.Ce que j'ai fait pour le résoudre est d'ajouter la ligne ci-dessous dans mon construire.gradle script
Remplacer
xx.x.x
avec n'importe quelle version d'un soutien-annotations à votre application à l'aide - ceci sera indiqué dans vos dépendances, ou le Gradle message de synchronisation comme:Resolved version for app (xx.x.x)
devrait-il y avoir un problème de synchronisation.Junit
mais totalement pour eu je peux le faire pour les autres dépendances ainsi.androidTestCompile 'com.android.support:support-annotations:23.1.1'
En fait c'est un bug de la nouvelle version de mise à jour de la machine à Expresso Contrib, vous pouvez vous référer cette solution de contournement : android-test/build.gradle
androidTestCompile 'com.android.support.test:runner:0.5'
Veuillez vous référer https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140
Cela a résolu mon problème.
Sinon, vous pouvez exécuter gradlew sur windows et ./gradlew pour mac/linux, cela permettra de télécharger votre dépendance lorsque nécessaire
J'ai aussi rencontré ce problème ainsi que d'autres conflits impliquant appcompat et la solution que j'ai trouvé a été l'ajout d'essai compile, et le sdk que vous utilisez actuellement. Dans mon cas, c'est 25, de sorte qu'il ressemble à ceci:
En outre, comme vous pouvez le voir, j'ai ajouté de la conception de dépendance, qui est lié à Android, de la Conception des Matériaux.
Espère que cela aide =)
pour sdkversion 25
vous pouvez exécuter gradlew sur windows et ./gradlew pour mac/linux, cela permettra de télécharger votre dépendance en cas de besoin.
Vous pouvez vérifier si l'un de la bibliothèque a dépendance sur le soutien ou l'annotation de bibliothèque avec est nommé dans l'erreur et essayer de les exclus dans gradle quelque chose comme ci-dessous
de la compilation("org.apache.maven:maven-ant-tâches:${mavenAntTaskVer}") {
exclure du groupe: 'junit'
}
Erreur:Conflit avec dépendance "junit:junit'. Résolu versions de l'app (3.8.1) et de l'application de test (4.12) diffèrent. Voir la g.co/androidstudio/app-test-app-conflit pour plus de détails.
c'était l'erreur que j'ai a faire, j'ai utilisé ci-dessus gradle ligne pour résoudre le problème
Simplement supprimer ces lignes dans votre construction.gradle fichier:
C'est un problème courant dans l'instrumentation de test comme indiqué ici et peuvent être résolus simplement en ajoutant les dépendances pour androidTestCompile à l'intérieur de la construction.gradle. Dans mon cas, des conflits surgissent dans appcompat, recyclerview et de la conception des dépendances. Et résolu par l'ajout des lignes suivantes
J'ai eu le même problème avec 26.0.0 et 27.1.1 et en fait, juste la mise à niveau de l'ancienne à la plus tard de la faire fonctionner.