Versión de prueba y versión proguarded de la aplicación de Android – NoSuchMethodError

Estoy intentando probar la versión de lanzamiento de la aplicación para Android con Proguard activado. He creado un archivo de reglas Proguard adicional para las dependencias de prueba que se incluye en el archivo de reglas de release.

-keep class android.test.** { *; } -dontwarn android.test.** # Reuse the release ProGuard mapping -applymapping proguard.map -dontshrink -dontoptimize 

Todo se compila bien, pero falla en tiempo de ejecución.

 java.lang.NoSuchMethodError: android.test.AndroidTestRunner.addTestListener at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.start(ProGuard:135) at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner$BridgeTestRunner.start(ProGuard:249) at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:389) at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onCreate(ProGuard:114) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4702) at android.app.ActivityThread.access$1600(ActivityThread.java:172) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1362) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5586) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) at dalvik.system.NativeStart.main(Native Method) 

Estoy usando Espresso para las pruebas, el corredor de instrumentación se define en build.gradle

 defaultConfig { testApplicationId 'package.name.test' testInstrumentationRunner 'com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner' } 

¿Alguna posibilidad de ejecutar pruebas para la versión de lanzamiento proguarded? He encontrado el tema de mayo y parece que es imposible. Para mí parece que está mal configurada Proguard (método faltante), pero la línea -keep class android.test.** { *; } -keep class android.test.** { *; } Debería solucionar dicho problema. ¿Me estoy perdiendo de algo?

Estoy tratando de ayudar a Sir.

en lugar de eso

 -keep class android.test.** { *; } -dontwarn android.test.** 

Añadir esto a él

 -keep class android.test.** { *; } -keep class junit.** { *; } -dontwarn android.test.** -dontwarn junit.** 

En realidad esto es un duro "adivinar-a-código" que la esperanza ayuda

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.