support library last android android-support-library

library - com.android.support:design 26



Error de biblioteca de soporte de Android después de actualizar a 23.3.0 (13)

He estado usando el soporte de Android v4 23.1.1 y recientemente intenté actualizarlo a 23.3.0 (el último cuando se le preguntó), 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) difieren.
Ver http://g.co/androidstudio/app-test-app-conflict para más detalles.

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

Fui a los dos 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 ocurrió después de actualizar

Editar:

Gradle Version 2.10 Gradle Plugin Version 2.0.0 buildToolsVersion "23.0.3"


  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 secuencia de comandos Gradle

  6. Proyecto de construcción

Espero que esto funcione! :)


Debe usar la misma versión para la aplicación y los APK de androidTest. 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


Me tomó un tiempo salir de este error. Pero esto es lo que me ha funcionado, 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!


Mi app.gradle original 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) difieren. Ver 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 las pruebas de instrumentación, tanto el APK principal como el APK de prueba comparten el mismo classpath. La construcción de Gradle fallará si el APK principal y el APK de prueba usan la misma biblioteca (por ejemplo, Guava) pero en versiones diferentes. Si Gradle no entendió eso, su aplicación podría comportarse de manera diferente durante las pruebas y durante la ejecución normal (incluido el bloqueo 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) difieren. Ver http://g.co/androidstudio/app-test-app-conflict para más detalles.

¡El cambio en la versión de prueba apk fue diferente! Así que modifiqué la cadena de versión como se pegó 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'' }


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 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 mí, la versión de la herramienta de compilación debe alinearse con las versiones de dependencia . Digamos que la versión de la herramienta de compilació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. Vea el ejemplo a continuación.

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


Se resolvió después 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''}


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-annotations'' en el proyecto '': aplicación''.
Las versiones resueltas para la aplicación (25.1.0) y la aplicación de prueba (23.1.1) difieren.
Ver http://g.co/androidstudio/app-test-app-conflict para más detalles. "

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


Solo excluya las ''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'' })


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


/* 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" }


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