Error de biblioteca de soporte de Android después de actualizar a 23.3.0

He estado usando el soporte de Android v4 23.1.1 y recientemente intenté actualizarlo a 23.3.0 (el último cuando esto fue preguntado) pero recibí el siguiente error:

Error: Conflicto con la dependencia ‘com.android.support:support-annotations’.
Las versiones resueltas para la aplicación (23.3.0) y la aplicación de prueba (23.1.1) son diferentes.
Visita http://g.co/androidstudio/app-test-app-conflict para más detalles.

Hasta ahora he encontrado esto https://code.google.com/p/android/issues/detail?id=206137

Fui a ambos enlaces pero no pude solucionar mi problema. ¿Cómo soluciono este problema?

Editar:

Tengo estos en mis dependencias

compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:recyclerview-v7:23.3.0' compile 'com.android.support:cardview-v7:23.3.0' compile 'com.android.support:design:23.3.0' 

Anteriormente todas las versiones eran 23.1.1 y funcionaba bien, el error ocurría después de la actualización

Editar:

 Gradle Version 2.10 Gradle Plugin Version 2.0.0 buildToolsVersion "23.0.3" 

Para aquellas personas que aún enfrentan este problema, simplemente agregue esta línea a sus dependencias.

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

Solucionó mi problema.

ACTUALIZAR:

Si tiene este error hoy en día, puede simplemente insertar el nuevo código de versión ( 23.3.0 en este caso, o 27.1.1 en mayo ’18) como se describe en el error en la solución descrita anteriormente.

Para aquellos que todavía enfrentan el problema, la respuesta anterior no me ayudó en Android Studio 2.2 Preview.

agregue esto a su archivo gradle.

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

Esto solucionó mi problema.

Referencia: https://github.com/JakeWharton/u2020/blob/05a57bf43b9b61f16d32cbe8717af77cd608b0fb/build.gradle#L136-L140

Solo ejemplificando la respuesta de Akshayraj

Archivo original de Gradle:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

Error recibido:

Error: Conflicto con la dependencia ‘com.android.support:support-annotaciones’ en el proyecto ‘: aplicación’.
Las versiones resueltas para la aplicación (25.1.0) y la aplicación de prueba (23.1.1) son diferentes.
Visita http://g.co/androidstudio/app-test-app-conflict para más detalles. ”

CORREGIDO cuando agregué:

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

Archivo final:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') [...] compile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support:support-annotations:25.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' } 

Mi aplicación orignal.gradle tenía:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

que resultó en el siguiente error:
Error: Conflicto con la dependencia ‘com.android.support:support-annotations’. Las versiones resueltas para la aplicación (23.4.0) y la aplicación de prueba (22.2.0) son diferentes. Visita http://g.co/androidstudio/app-test-app-conflict para más detalles .

Después de leer el enlace sugerido por error, encontré estas líneas:

Cuando se ejecutan pruebas de instrumentación, tanto el APK principal como el APK de prueba comparten el mismo classpath. La comstackción de Gradle fallará si la APK principal y la APK de prueba usan la misma biblioteca (p. Ej., Guava) pero en versiones diferentes. Si gradle no captó eso, su aplicación podría comportarse de manera diferente durante las pruebas y durante la ejecución normal (incluido el locking en uno de los casos).

Así que modifiqué mis dependencias de app.gradle a:

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.3.0' androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

Incluso después del cambio anterior gradle no estaba contento :-(:
Error: Conflicto con la dependencia ‘com.android.support:support-annotations’. Las versiones resueltas para la aplicación (23.4.0) y la aplicación de prueba (23.3.0) son diferentes. Visita http://g.co/androidstudio/app-test-app-conflict para más detalles.

¡El cambio en la versión de apk de prueba fue diferente! Así que modifiqué la cadena de la versión como está pegada a continuación, lo que funcionó para mí:

(Nirvana)

 dependencies { // App dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // main APK // Testing-only dependencies androidTestCompile 'com.android.support:support-annotations:23.4.0' //test APK androidTestCompile 'com.android.support.test:runner:0.3' androidTestCompile 'com.android.support.test:rules:0.3' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' } 

Me tomó un tiempo para salir de este error. Pero esto es lo que funcionó para mí, pruébalo:

NOTA: Estoy usando compileSdkVersion 26

Eliminé androidTestImplementation ‘com.android.support.test: runner: 1.0.2’ y androidTestImplementation ‘com.android.support.test.espresso: espresso-core: 3.0.2’ en el bloque de dependencias en build.gradle (Módulo : aplicación). Así que terminé con esto:

 apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { applicationId "com.date.brian.cradletest" minSdkVersion 15 targetSdkVersion 26 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:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.0' compile 'com.android.support:design:26.1.0' compile 'com.android.support:cardview-v7:26.1.0' compile 'com.android.support:recyclerview-v7:26.1.0' compile 'com.getbase:floatingactionbutton:1.9.0' compile 'de.hdodenhof:circleimageview:2.1.0' testImplementation 'junit:junit:4.12' } 

¡Espero que esto sea útil!

Debes usar la misma versión para la aplicación y los APK de Android. Para hacer esto, especifique la misma versión que su aplicación,

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

donde 24.1.1 es el número de versión de la dependencia utilizada en su aplicación

 compile 'com.android.support:design:24.1.1' 

Para mí, la versión de la herramienta de comstackción debe alinearse con las versiones de dependencia . Entonces digamos que la versión de la herramienta de comstackción es 26.1.0 , la versión de dependencia de Gradle tiene que obedecerla.

La forma más simple es crear una variable de versión y usarla. Ver el ejemplo a continuación

 ext { buildVersion = '26.1.0' } dependencies { compile "com.android.support:appcompat-v7:${buildVersion}" } 
  1. Abra Android Studio

  2. Vaya a Proyecto> Gradle Scripts> build.gradle (Módulo: aplicación)

  3. Agregar dependencies {androidTestCompile 'com.android.support:support-annotations:xx.x.x'}

  4. Puede reemplazar xx.xx a la versión que se muestra en un error

  5. Guardar script Gradle

  6. Proyecto de construcción

Espero que esto funcione! 🙂

Fue resuelto luego de agregar la última línea:

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

eliminar la dependencia de prueba del archivo build.gradel para resolver los problemas

Solo excluya ‘anotaciones’. No se hará daño

 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) 
 /* Resolves dependency versions across test and production APKs, specifically, transitive dependencies. This is required since Espresso internally has a dependency on support-annotations. */ configurations.all { resolutionStrategy.force "com.android.support:support-annotations:$rootProject.supportLibraryVersion" }