Múltiples archivos dex definen Landroid / support / test / espresso / contrib / DrawerActions
al intentar emigrar al espresso 2.1 Golpeé el siguiente road-block
com.android.dex.DexException: Multiple dex files define Landroid/support/test/espresso/contrib/DrawerActions$1; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
pero sólo veo una fuente para esto:
- Prueba de centrifugadoras dinámicas espresso
- Espresso: Thread.sleep ();
- Android Espresso, dispositivo de despertar antes de la prueba. ¿Cómo usar un manifiesto personalizado para la prueba?
- UIAutomator corriendo con espresso
- Ejecutar espresso después de proteger la aplicación pero no probar
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.1'
cualquier pista sobre cómo resolver esto? Este es el árbol de dependencias:
androidTestCompile - Classpath for compiling the androidTest sources. +--- com.android.support.test:runner:0.2 | +--- junit:junit-dep:4.10 | | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3 | +--- com.android.support.test:exposed-instrumentation-api-publish:0.2 | \--- com.android.support:support-annotations:22.0.0 +--- com.android.support.test:rules:0.2 | \--- com.android.support.test:runner:0.2 (*) +--- com.android.support.test.espresso:espresso-contrib:2.1 | +--- com.android.support:recyclerview-v7:22.0.0 | | +--- com.android.support:support-v4:22.0.0 | | | \--- com.android.support:support-annotations:22.0.0 | | \--- com.android.support:support-annotations:22.0.0 | +--- com.android.support:support-v4:22.0.0 (*) | \--- com.android.support.test.espresso:espresso-core:2.1 | +--- com.android.support.test:rules:0.2 (*) | +--- com.squareup:javawriter:2.1.1 | +--- org.hamcrest:hamcrest-integration:1.1 | | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3 | +--- com.android.support.test.espresso:espresso-idling-resource:2.1 | +--- org.hamcrest:hamcrest-library:1.1 | | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3 | +--- javax.inject:javax.inject:1 | +--- com.google.code.findbugs:jsr305:2.0.1 | +--- com.android.support.test:runner:0.2 (*) | +--- javax.annotation:javax.annotation-api:1.2 | \--- org.hamcrest:hamcrest-core:1.1 -> 1.3 +--- info.cukes:cucumber-java:1.2.0 | \--- info.cukes:cucumber-core:1.2.0 | +--- info.cukes:cucumber-html:0.2.3 | +--- info.cukes:cucumber-jvm-deps:1.0.3 | \--- info.cukes:gherkin:2.12.2 +--- info.cukes:cucumber-android:1.2.0 +--- com.google.dexmaker:dexmaker-mockito:1.0 | \--- org.mockito:mockito-core:1.9.5 | \--- org.objenesis:objenesis:1.0 +--- org.assertj:assertj-core:1.7.1-TARGETFIX +--- com.uphyca:android-junit4:0.5 \--- junit:junit:4.11 \--- org.hamcrest:hamcrest-core:1.3
- Espresso - ¿Cómo puedo comprobar si se inicia una actividad después de realizar una determinada acción?
- Compruebe si el teclado flexible está visible utilizando espresso
- Android Espresso no funciona con Multidex da "No se encontraron pruebas"
- Toma de pantalla utilizando espresso
- Android Espresso: longClick () no funciona y se comporta como click ()
- NoClassDefFoundError para Android Espresso clase de fábrica de daga interna
- ¿Cómo comprobar si la intención de difusión fue enviada en caso de prueba de instrumentación?
- ¿Cómo hacer clic en los elementos de la barra de acción al realizar pruebas con Android Espresso?
mundo pequeño 😉
Este DexException de múltiples archivos dex son causados indirectamente por espresso-contrib: 2.1 , la causa raíz real es com.android.support.test: runner: 0.2 , que tiene algunas otras subdependencias.
Quitar la prueba: el corredor trabaja para mí.
Si bien hay otro post diciendo que es debido a com.android.support:support-v4 , en su caso, es 22.0.0 para la prueba, y tal vez el módulo de la aplicación está utilizando una versión diferente. Así que traté de hacer:
androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.1') { exclude group: 'com.android.support', module: 'support-v4' exclude module: 'support-annotations' }
pero no funciona en absoluto.
- No puede tener acceso a un miembro no estático de tipo externo X a través de tipo anidado X
- Reemplazar el fragmento y luego presionar hacia atrás causa rápida UI retraso respuesta, sombras y esquinas efecto son desaparecidos