Java.lang.NoClassDefFoundError: Resolución fallida de: Lorg / jacoco / agent / rt / internal_14f7ee5 / Desconectado

Estoy viendo el siguiente error en mi proyecto de Android después de actualizar a Gradle Build Tools 2.1.3 y Gradle 2.14.1. Sucede inmediatamente cuando ejecuto la aplicación. ¿Cómo puedo solucionar esto?

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jacoco/agent/rt/internal_14f7ee5/Offline; at com.ourapp.next.conversation.SomeList.SomeListViewModel.$jacocoInit(SomeListViewModel.java) at com.ourapp.next.conversation.SomeList.SomeListViewModel.(SomeListViewModel.java) at com.ourapp.next.conversation.SomeList.SomeListAdapterTest.(SomeListAdapterTest.java:26) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217) at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59) at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.jacoco.agent.rt.internal_14f7ee5.Offline" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.ourapp.next.debug.test-1/base.apk", zip file "/data/app/com.ourapp.next.debug-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) ... 30 more Suppressed: java.lang.ClassNotFoundException: org.jacoco.agent.rt.internal_14f7ee5.Offline at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 31 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Se presentó un informe de error: https://code.google.com/p/android/issues/detail?id=220640

Esto parece ser un problema con las versiones jacoco. Tendrá que actualizar su jacocoversion a 0.7.6.201602180812 .

Para citar la cuestión:

La versión de plugin de jacoco fue superada de 0.7.4.201502262128 a 0.7.6.201602180812 entre 2.1.2 a 2.1.3, que es la causa probable de este problema.

En 2.2 es 0.7.5.201505241946.

También parece que un posible error podría estar relacionado con Google Play Services. Hay soluciones temporales por el momento.

Opción 1 : Comentario testCoverageEnabled true .

 buildTypes { debug { // testCoverageEnabled true } } 

Opción 2 : El uso de Instant Run también parece resolver este problema.

Para cualquier persona que se enfrenta a este error mientras ejecuta UI Test con cobertura de código jacoco usando la tarea createDebugCoverageReport

La adición de este tarro resolvió este problema

Jarra de componentes Jacoco que falta

Respuesta tomada desde

https://stackoverflow.com/a/42698722/3053781

Estaba enfrentando este error mientras ejecuta la prueba de la interfaz de usuario con la cobertura en el proyecto de la biblioteca android con el proyecto de aplicación de Android cada cosa estaba funcionando bien sólo el proyecto de la biblioteca de android se enfrentaba a este problema

  • Cobertura de código en Android Studio con Sonar & Gradle
  • Continúa el informe de cobertura de código jacoco después de un caso de prueba fallido
  • Jacoco con Gradle 0.10.0: Objeto remoto no existe
  • Archivo Cobertura de cobertura.ec al informe de Jacoco
  • Java.lang.VerifyError al ejecutar pruebas de Android con testCoverageEnabled = true
  • Transformación de Dalvik usando código de invocación incorrecto
  • Informe vacío de Jacoco para Android Espresso
  • ¿Cómo puedo ejecutar Jacoco en android studio para la cobertura de código
  • Jacoco Android createDebugCoverageReport no encontrado
  • Cobertura de Jacoco para la declaración de switch
  • Cobertura de código Jacoco en Android Studio con sabores
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.