You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行createDebugCoverageReport报JacocoReportWorkerAction错误如何解决

解决方案

  • 关闭debug构建的混淆配置
    如果主项目的debug构建开启了minifyEnabled true,混淆会修改类名、方法名结构导致Jacoco无法匹配字节码与源码,将debug构建的混淆开关设置为false即可,也可以补充Jacoco混淆白名单:
-keep class * {
    *;
}
-dontwarn java.lang.instrument.**
  • 清理构建缓存后重试
    先执行清理命令再生成报告,避免增量编译缓存的异常影响Jacoco插桩结果:
gradlew clean createDebugCoverageReport
  • 统一Jacoco版本,避免版本冲突
    Android Gradle Plugin有内置适配的Jacoco版本,如果项目手动指定了不兼容的Jacoco版本会触发报错,可以在app模块的build.gradle中指定匹配AGP版本的Jacoco:
android {
    jacoco {
        // 可根据你使用的AGP版本选择对应适配的Jacoco版本,AGP 7.4+推荐用0.8.8及以上版本
        version = "0.8.8"
    }
}
  • 排查字节码插桩冲突
    如果项目接入了其他字节码插桩框架(比如自定义ASM插桩、热修复框架、全埋点框架),会和Jacoco的插桩逻辑冲突,临时关闭其他插桩逻辑后重新执行命令验证。
  • 确认测试用例运行正常
    先执行gradlew connectedDebugAndroidTest确认所有AndroidTest用例可以正常运行完成,测试用例执行崩溃会导致覆盖率采集不完整,无法生成报告。
  • 多模块项目补充子模块配置
    如果主项目依赖多个子模块,需要所有需要统计覆盖率的子模块也开启testCoverageEnabled true,同时在主项目的Jacoco报告配置中包含所有子模块的class文件路径,避免Jacoco找不到匹配的类文件。

内容的提问来源于stack exchange,提问作者Manohar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:45:05