Android JAVA 更新 Gradle 和构建工具后缺少字节码

Android JAVA Byte Code missing after update Gradle and Build Tools

我正在使用 Jacoco 创建覆盖率报告,在更新 Gradle 和 BuildTools 版本之前,它工作正常。然后我还原这些更改并再次工作。

Jacoco 在此处查找 .class 个文件:

${buildDir}/intermediates/classes/debug

这是app/build/intermediates/classes/debug。但是我注意到升级后路径丢失了, classes 里面没有目录 intermediates

我正在运行的配置:

项目级模块

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 无法创建覆盖率报告

他们在intermediates\javac\debug\compileDebugJavaWithJavac\classes

之下

您可以配置 Jacoco 以更改 classes 路径。

我不熟悉 Jacoco,但我认为它有一个名为 includes 的 属性,用于 .class 个文件。

或者我想应该有一个 .properties

可以像这样更改覆盖任务使用的 classDirectories

task "${testTaskName}Coverage" (type:JacocoReport, dependsOn: "$testTaskName") {
    ...
    classDirectories = fileTree(
        dir: "${project.buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes/${sourcePath}",
        excludes: [ ... ]
    )
    ...
}