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"
-
Abra Android Studio
-
Vaya a Proyecto> Gradle Scripts> build.gradle (Módulo: aplicación)
-
Agregar
dependencies {androidTestCompile ''com.android.support:support-annotations:xx.x.x''}
-
Puede reemplazar xx.xx a la versión que se muestra en un error
-
Guardar secuencia de comandos Gradle
-
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 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
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''