作者:ly荚n嚯嚯 | 来源:互联网 | 2022-11-29 12:13
我正在使用Jacoco创建一份覆盖率报告,并且在更新Gradle和BuildTools版本之前一直工作良好。然后,我还原这些更改并重新工作。
Jacoco在以下位置查找.class文件:
$ {buildDir} /中间体/类/调试
这是app / build / intermediates / classes / debug。但我注意到,升级后该路径丢失了,中间体中间没有类目录
我的配置正在工作:
项目级模块
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'io.fabric.tools:gradle:1.25.1'
应用级模块
compileSdkVersion 27
buildToolsVersion "27.0.3"
当更新时是这样的:
项目级模块
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'io.fabric.tools:gradle:1.25.4'
应用级模块
compileSdkVersion 28
buildToolsVersion "28.0.3"
我找不到有关该路径正在移动或正在发生的情况的任何参考
编辑
我的问题是,由于Java字节码(生成的.class文件)不存在,因此Jacoco无法创建覆盖率报告
1> Martin Zeitl..:
可以像更改classDirectories
覆盖任务一样使用:
task "${testTaskName}Coverage" (type:JacocoReport, dependsOn: "$testTaskName") {
...
classDirectories = fileTree(
dir: "${project.buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes/${sourcePath}",
excludes: [ ... ]
)
...
}