我正在关注this帖子,为我的项目设置Jacoco代码覆盖范围。
但是我在编写任务以生成报告时遇到错误。
成绩任务
task jacocoTestReport(type: JacocoReport,dependsOn: ['testDebugUnitTest','createDebugCoverageReport']) {
reports {
xml.enabled = true
html.enabled = true
}
def fileFilter = ['**/R.class','**/R$*.class','**/BuildConfig.*','**/Manifest*.*','**/*Test*.*','android/**/*.*']
def debugTree = fileTree(dir: "$project.buildDir/intermediates/javac/debug",excludes: fileFilter)
def mainSrc = "$project.projectDir/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.buildDir,includes: [
'jacoco/testDebugUnitTest.exec','outputs/code_coverage/debugAndroidTest/connected/**/*.ec'
])
}
我得到的错误是:
无法为以下属性设置只读属性“ sourceDirectories”的值 类型的任务':app:jacocoTestReport' org.gradle.testing.jacoco.tasks.JacocoReport。
下面我相信,jacoco
下面的字段是私有的。
- sourceDirectories
- classDirectories
- executionData
我的依存关系:classpath "org.jacoco:org.jacoco.core:0.8.4"
此外,我尝试更改版本,但没有帮助。