test studio defaultconfig configurar compile android gradle android-gradle build.gradle android-espresso

studio - 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



configurar gradle android studio (9)

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

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

a

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

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 de 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?


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

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 está resuelto.


Estaba recibiendo este error

Error: Error de ejecución para la tarea '': aplicación: preDebugAndroidTestBuild''. Conflicto con la dependencia ''com.android.support:support-annotations'' en el proyecto '': aplicación''. Las versiones resueltas para la aplicación (26.1.0) y la aplicación de prueba (27.1.1) difieren. Consulte https://d.android.com/r/tools/test-apk-dependency-conflicts.html para obtener más detalles.

Tenía las siguientes dependencias 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!


Fuente: CodePath - Prueba de IU con Espresso

  1. Finalmente, necesitamos incorporar las dependencias de Espresso y configurar el corredor 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 alguna otra dependencia enumerada como conflictiva, como anotaciones de soporte, intente excluirla también de las dependencias androidTestCompile.


La reconstrucción del proyecto resolvió mi problema.

En el estudio de Android en la barra de herramientas. Generar> Reconstruir proyecto.


Prueba esto :

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


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


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


Recibí el mismo error hoy:

Error: Error en la ejecución de la tarea '': aplicación: preDebugAndroidTestBuild''.> Conflicto con la dependencia ''com.android.support:support-annotations'' en el proyecto '': aplicación''. Las versiones resueltas para la aplicación (26.1.0) y la aplicación de prueba (27.1.1) difieren.

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 desapareció!

Para la referencia:

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