Android Gradle 插件 3.1.0 不再找到 androidJacocoAnt 配置

标签 android gradle android-gradle-plugin code-coverage jacoco

更新到 Android Gradle 插件 3.1.0(从 3.0.1 开始)后,我的 JaCoCo 单元测试覆盖率配置开始在 Gradle 配置阶段产生错误:

> Configuration with name 'androidJacocoAnt' not found.

项目级build.gradle:

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'
    classpath "org.jacoco:org.jacoco.core:0.8.1"
}

模块级build.gradle:

apply plugin: 'jacoco'

...

android {
    buildTypes {
        debug {
            testCoverageEnabled true
        }
    }

    ...
}

task jacocoTestReport(type: JacocoReport) {
    dependsOn 'createDebugCoverageReport'
    dependsOn 'testDebugUnitTest'

    reports {
        xml.enabled = true
        html.enabled = true
        csv.enabled = false
    }

    jacocoClasspath = configurations['androidJacocoAnt']

    def fileFilter = [
            '**/R.class',
            '**/R$*.class',
            '**/BuildConfig.*',
            '**/Manifest*.*',
            '**/*Test*.*',
            'android/**/*.*'
    ]

    def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
    def mainSrc = "${project.projectDir}/src/main/java"
    print("${project.projectDir}/src/main/java")

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])
    executionData = fileTree(dir: "$buildDir", includes: [
            "jacoco/testDebugUnitTest.exec",
            "outputs/code-coverage/connected/*coverage.ec"
    ])
}

最佳答案

用不同的插件版本比较gradle dependencies的输出,似乎

jacocoClasspath = configurations['androidJacocoAnt']

需要改成

jacocoClasspath = configurations['jacocoAnt']

关于Android Gradle 插件 3.1.0 不再找到 androidJacocoAnt 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509789/

相关文章:

gradle - 如何在gradle中复制文件?

java - Gradle中的错误

安卓 Facebook v4.0 发布图文

android - 在安卓手机上实时进行语音处理

react-native - React Native错误: "Could not determine java version from ' 9. 0.1'."

android - 联网后"Check your module classpath for missing or conflicting dependencies"消失

android - Robolectric 与 test.R.java

android - 什么是 gradle 组、模块和 Artifact ?

android - SKPolyline setColor 未给出正确的颜色

android - 谷歌分析上的自定义 Diamention 不起作用