Prueba de Android: 'Múltiples archivos dex' cuando se usa 'cheque de gradle chequeado'

Cuando ejecuto pruebas basadas en el emulador de Android con:

gradlew check connectedCheck 

… falla con:

  com.android.dx.util.DexException: Multiple dex files define Lorg/hamcrest/Description; 

Aquí está mi archivo build.gradle:

 buildscript { repositories { mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } dependencies { classpath 'com.android.tools.build:gradle:0.7.0' classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.1-SNAPSHOT' } } apply plugin: 'android' apply plugin: 'android-test' repositories { mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper) { gradleVersion = '1.9' } android { compileSdkVersion 17 buildToolsVersion "18.1" defaultConfig { minSdkVersion 13 targetSdkVersion 18 } sourceSets { instrumentTest.setRoot('src/test') } lintOptions { abortOnError false } } dependencies { compile 'com.android.support:support-v4:13.0.+' compile fileTree(dir: 'libs', include: '*.jar') testCompile 'junit:junit:4.10' testCompile 'org.robolectric:robolectric:2.3-SNAPSHOT' testCompile 'com.squareup:fest-android:1.0.+' instrumentTestCompile 'junit:junit:4.10' instrumentTestCompile 'org.robolectric:robolectric:2.3-SNAPSHOT' instrumentTestCompile 'com.squareup:fest-android:1.0.+' } 

Estoy usando Android Studio, pero las pruebas se ejecutan desde la línea de comandos.

Ejecución de pruebas basadas en no emulador con roboelectric ( gradlew test ) funciona bien.

Creo que es un archivo jar que se incluye dos veces, pero no sé cuál y cómo arreglar. Sugerencias?

EDITAR

Parece que es la línea instrumentTestCompile 'junit:junit:4.10' que está causando el problema. Pero cuando lo tomo, la prueba roboeléctrica no compila. ¿Cómo debo configurar esto para que pueda ejecutar tanto pruebas basadas en emulador como basadas en roboeletric?

Esto es porque JUnit 4.10 incluye algunas clases Hamcrest (travieso). Se arregló en 4.11 por lo que la actualización.

  • Añadir ViewPagerIndicator a Android Studio
  • Versión de Android 24.0.0 y Excepción de gradle de Espresso 2.0
  • ¿Es posible utilizar múltiples archivos de manifiesto para diferentes creaciones / sabores de gradle?
  • Android Studio INSTALL_FAILED_DEXOPT e INSTALL_FAILED_UID_CHANGED en la ejecución del proyecto
  • Android studio 2.1.2 gradle aapt Error de sintaxis: Cadena entre comillas no terminada
  • Android Studio 0.8.2 - Falló la sincronización del proyecto de Gradle
  • Gradle no puede resolver dependencias al crear un proyecto de Android Studio
  • Android Studio w / gradle: El paquete r no existe
  • No se pudo encontrar la propiedad 'allJava' en el conjunto de fuentes principal
  • Bloqueo con NoSuchMethodError después proguard con referencias de método
  • Aplicación de Android + Módulo de Java (Java 1.8)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.