¿Cómo puedo ejecutar Jacoco en android studio para la cobertura de código
Tengo un sabor de depuración en el estudio de Android ya. Mi archivo de configuración gradle para mi módulo de aplicación contiene lo siguiente:
debug{ testCoverageEnabled true }
Entonces ejecuto el siguiente comando en el terminal:
- AndroidStudio: Informe de cobertura de código JaCoCo 0% para cobertura
- ¿Cómo obtener el informe de cobertura de código para android test apk using jacoco?
- Cobertura del código Jacoco en el estudio android
- Archivo de cobertura de código Jacoco vacío que conduce a informes de cobertura falsa
- ¿Cómo obtengo un reporte de cobertura de jacoco usando el complemento Android gradle 0.10.0 o superior?
gradlew createDebugCoverageReport
Y de hecho obtengo un informe, pero la aplicación también se bloquea con un error de sólo lectura y no puedo entenderlo. Estoy usando un mac. Aquí está el rastreo de la pila:
**java.io.FileNotFoundException: /jacoco.exec: open failed: EROFS (Read-only file system)** 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:416) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:88) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.openFile(FileOutput.java:67) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.output.FileOutput.startup(FileOutput.java:49) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Agent.startup(Agent.java:122) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Agent.getInstance(Agent.java:50) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at org.jacoco.agent.rt.internal_932a715.Offline.<clinit>(Offline.java:31) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at mypackage.org.duckduck.MainApplication.$jacocoInit(MainApplication.java) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at mypackage.org.duckduck.MainApplication.<clinit>(MainApplication.java) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.Class.newInstanceImpl(Native Method) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.Class.newInstance(Class.java:1319) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.Instrumentation.newApplication(Instrumentation.java:983) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.Instrumentation.newApplication(Instrumentation.java:968) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.LoadedApk.makeApplication(LoadedApk.java:499) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4480) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.access$1300(ActivityThread.java:146) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:99) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.os.Looper.loop(Looper.java:137) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5168) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:511) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at dalvik.system.NativeStart.main(Native Method) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ Caused by: libcore.io.ErrnoException: open failed: EROFS (Read-only file system) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.Posix.open(Native Method) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:400) 03-01 00:04:56.871 19006-19006/mypackage.org.duckduck W/System.err﹕ ... 24 more
- Transformación de Dalvik usando código de invocación incorrecto
- Java.lang.NoClassDefFoundError: Resolución fallida de: Lorg / jacoco / agent / rt / internal_14f7ee5 / Desconectado
- Cobertura del código de prueba de Android con JaCoCo Gradle plugin
- Cómo generar el archivo jacoco.exec con Gradle Plugin en Android Studio?
- Informe de cobertura dice cobertura cero en android con gradle
- Jacoco con Gradle 0.10.0: Objeto remoto no existe
- La cobertura de Jacoco no funciona con el plugin android más reciente
- Archivo Cobertura de cobertura.ec al informe de Jacoco
Tuve el mismo problema de ejecutar jacoco en un dispositivo USB. Usando Genymotion resolvió el problema.
Puesto que, no veo su archivo entero del gradle no estoy seguro si usted tiene ya esto la manera derecha pero una sugerencia es no aplica el enchufe jacoco explícitamente si usted está en el archivo del gradle. La versión más reciente de Gradle viene empaquetada con JaCoCo.
Esto fue romper mis pruebas hasta hace poco cuando intenté sin esa línea.
Otra cosa es que sólo corre
gradle connectedCheck
Desde el terminal (Mac) o el símbolo del sistema (windows) y esto genera el informe de cobertura del código html para mí.
Esperemos que esto solucione su problema también.
Esta advertencia parece irrelevante :
El mensaje de error desapareció al montar el sistema de archivos raíz read-write
mount -o remount,rw rootfs /
, Y sólo establecer los permisos de escritura para todos los usuarios (sólo hacer esto en un emulador !, es realmente inseguro)
chmod 777 /
Por desgracia, mis pruebas se rompieron antes y después, cambiar esto no los arregló en absoluto.
Así que a menos que haya un problema real, podría tratar esto como un mensaje que no requiere acción .
- Espacio en blanco cuando se abre el teclado virtual en Android
- ¿Dónde está el código fuente para cambiar la linterna en Android 5.1