问题

Android Studio 执行 Run ‘xxx’ with coverage 报错问题

  1. Gradle Test Executor 写入标准输入时出现 IOException
  2. 无法打开 zip 文件或 JAR 清单缺失,特别是 intellij-coverage-agent-1.0.744.jar

> Task :processDebugUnitTestJavaRes NO-SOURCE
Could not write standard input to Gradle Test Executor 2.
java.io.IOException: �ܵ����ڱ��رա�
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
    at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
    at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
    at
org.gradle.process.internal.streams.ExecOutputHandleRunner.writeBuffer(ExecOutputHandleRunner.java:98)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:85)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:64)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
> Task :testDebugUnitTest FAILED
Error opening zip file or JAR manifest missing : C:\Users\admin\AppData\Local\Google\AndroidStudio2024.1\testAgent\intellij-coverage-agent-1.0.744.jar
Error occurred during initialization of VM
agent library failed to init: instrument

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':testDebugUnitTest'.
> Process 'Gradle Test Executor 2' finished with non-zero exit value 1

分析 & 方案

Gradle IOException

更新环境配置或清理环境

增加 Gradle 内存:在 gradle.properties 文件中增加 Gradle 的最大内存限制:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m

 这条是默认都有值的,如应用内配置

org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx1536M"

JAR 文件问题

  • 下载缺失的 JAR 文件:如果文件缺失,您可以试着从网络上寻找并下载该 JAR 文件,并将其放入适当的目录。

  • 检查文件是否被加密了:如果文件被加密会报同样的错误。

更多推荐