En construisant, j'obtiens l'erreur suivante:
Conflict with dependency 'com.Android.support:support-annotations'. Resolved versions for app (23.1.0) and test app (23.0.1) differ.
Ce sont mes dépendances
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:support-v4:23.1.0'
compile 'com.Android.support:appcompat-v7:23.1.0'
compile 'com.Android.support:design:23.1.0'
compile 'com.Android.support:cardview-v7:23.1.0'
compile 'com.Android.support:recyclerview-v7:23.1.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.squareup:otto:1.3.8'
compile 'com.snappydb:snappydb-lib:0.5.2'
compile 'com.esotericsoftware.kryo:kryo:2.24.0'
compile 'com.google.dagger:dagger:2.0.1'
apt 'com.google.dagger:dagger-compiler:2.0.1'
compile 'javax.annotation:javax.annotation-api:1.2'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'io.reactivex:rxjava:1.0.14'
compile 'com.google.Android.gms:play-services-location:8.1.0'
compile 'com.google.Android.gms:play-services-gcm:8.1.0'
compile 'org.Apache.commons:commons-lang3:3.4'
testCompile 'junit:junit:4.12'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.Android.support.test:runner:0.4'
androidTestCompile 'com.Android.support.test:rules:0.4'
androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-intents:2.2.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-web:2.2.1'
debugCompile 'com.squareup.leakcanary:leakcanary-Android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-Android-no-op:1.3.1'
}
Comment puis-je réparer cela?
Vous pouvez forcer la bibliothèque d'annotations dans votre test en utilisant:
androidTestCompile 'com.Android.support:support-annotations:23.1.0'
Quelque chose comme ça:
// Force usage of support annotations in the test app, since it is internally used by the runner module.
androidTestCompile 'com.Android.support:support-annotations:23.1.0'
androidTestCompile 'com.Android.support.test:runner:0.4.1'
androidTestCompile 'com.Android.support.test:rules:0.4.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-intents:2.2.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-web:2.2.1'
Une autre solution consiste à utiliser ceci dans le fichier de niveau supérieur:
configurations.all {
resolutionStrategy.force 'com.Android.support:support-annotations:23.1.0'
}
Projet de reconstruction a résolu mon problème.
Dans Android Studio, dans la barre d’outils .. Construire> Reconstruire le projet.
Source: CodePath - Tests d'interface utilisateur avec Espresso
- Enfin, nous devons extraire les dépendances Espresso et définir le lanceur de test dans notre application build.gradle:
// build.gradle
...
Android {
...
defaultConfig {
...
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
...
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2') {
// Necessary if your app targets Marshmallow (since Espresso
// hasn't moved to Marshmallow yet)
exclude group: 'com.Android.support', module: 'support-annotations'
}
androidTestCompile('com.Android.support.test:runner:0.5') {
// Necessary if your app targets Marshmallow (since the test runner
// hasn't moved to Marshmallow yet)
exclude group: 'com.Android.support', module: 'support-annotations'
}
}
J'ai ajouté cela à mon fichier de notes et l'avertissement a disparu.
En outre, si une autre dépendance est répertoriée comme étant en conflit, telle que des annotations de support, essayez de l'exclure également des dépendances androidTestCompile.
vous pouvez essayer d'utiliser
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
au lieu de
androidTestCompile 'com.Android.support.test:runner:0.4.1'
androidTestCompile 'com.Android.support.test:rules:0.4.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.Android.support.test.espresso:espresso-contrib:2.2.1'
Je recevais cette erreur
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 app (26.1.0) et test (27.1.1) diffèrent. Voir https://d.Android.com/r/tools/test-apk-dependency-conflicts.html pour plus de détails.
J'avais des dépendances suivantes dans mon fichier build.gradle sous Gradle Scripts
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.Android.support:support-vector-drawable:26.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'
}
Donc, je l'ai résolu en commentant les dépendances suivantes
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'
Donc, mes dépendances ressemblent à ceci
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.Android.support:support-vector-drawable:26.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'
}
J'espère que ça aide!
J'ai eu la même erreur aujourd'hui:
Erreur: l'exécution a échoué pour la tâche ': app: preDebugAndroidTestBuild'.> Conflit avec la dépendance 'com.Android.support:support-annotations' dans projet ': app'. Versions résolues pour l'application (26.1.0) et l'application test (27.1.1) diffèrent.
Ce que j'ai fait:
27.1.1
au lieu de 26.1.0
compileSdkVersion 27
et targetSdkVersion 27
qui étaient 26
plus tôtEt l'erreur com.Android.support:support-annotations
avait disparu!
Pour réf:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.Android.support:design:27.1.1'
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'
}
Dans mon cas, j'ai ajouté le code ci-dessous dans les dépendances de build.gradle de niveau d'application.
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
Après cela, je nettoie le projet et reconstruis.Mon problème résolu.
Modifiez vos fichiers build.gradle au niveau de l’application:
implementation 'com.Android.support:appcompat-v7:23.1.0'
à
implementation 'com.Android.support:appcompat-v7:23.0.1'
Essaye ça :
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.example.yourpackagename"
minSdkVersion 15
targetSdkVersion 27
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:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
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'
}