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: [ ... ]
)
...
}
我正在使用 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: [ ... ]
)
...
}