Conflicto con la dependencia ‘com.android.support:support-annotations’. Las versiones resueltas para la aplicación (23.1.0) y la aplicación de prueba (23.0.1) difieren

Al construir me sale el siguiente error:

Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.1.0) and test app (23.0.1) differ. 

Estas son mis dependencias gradle

 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' } 

¿Cómo puedo arreglar esto?

Puede forzar la biblioteca de anotaciones en su prueba usando:

 androidTestCompile 'com.android.support:support-annotations:23.1.0' 

Algo como esto:

  // 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' 

Otra solución es usar esto en el archivo de nivel superior:

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

Project Rebuild resolvió mi problema.

En Android studio en la barra de herramientas … Build> Rebuild Project.

Fuente: CodePath – Prueba de UI con Espresso

  1. Finalmente, tenemos que incorporar las dependencias de Espresso y configurar el corrector de prueba en nuestra aplicación 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' } } 

Lo agregué a mi archivo gradle y la advertencia desapareció.

Además, si obtiene cualquier otra dependencia enumerada como conflictiva, como las anotaciones de soporte, intente excluirla también de las dependencias androidTestCompile.

puedes intentar usar

  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) 

en lugar 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' 

Estaba recibiendo este error

Error: ejecución fallida para la tarea ‘: aplicación: preDebugAndroidTestBuild’. Conflicto con la dependencia ‘com.android.support:support-annotaciones’ en el proyecto ‘: aplicación’. Las versiones resueltas para la aplicación (26.1.0) y la aplicación de prueba (27.1.1) son diferentes. Consulte https://d.android.com/r/tools/test-apk-dependency-conflicts.html para obtener detalles.

Estaba teniendo dependencias siguientes en mi archivo build.gradle en 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' } 

Entonces, lo resolví comentando las siguientes dependencias

 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' 

Entonces mis dependencias se ven así

 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' } 

¡Espero eso ayude!

Estaba obteniendo el mismo error hoy:

Error: ejecución fallida para la tarea ‘: aplicación: preDebugAndroidTestBuild’.> Conflicto con la dependencia ‘com.android.support:support-annotaciones’ en el proyecto ‘: aplicación’. Las versiones resueltas para la aplicación (26.1.0) y la aplicación de prueba (27.1.1) son diferentes.

Lo que hice:

  • Simplemente actualicé todas mis dependencias a 27.1.1 lugar de 26.1.0
  • Además, actualicé mi compileSdkVersion 27 y targetSdkVersion 27 que eran 26 anteriores

¡Y el error com.android.support:support-annotations había desaparecido!

Por Ref:

 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' } 

En mi caso, agregué el código a continuación en dependencias del build.gradle del nivel de la aplicación

 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) 

Después de eso, limpio el proyecto y lo reconstruyo. Mi problema fue resuelto.

Cambie su archivo de nivel de la aplicación build.gradle:

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

a

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