小编Dik*_*sha的帖子

如何使用Gradle运行Jacoco for Android?

我正在尝试使用Gradle运行Jacoco以获取示例Android应用程序.我知道Android和Java插件都不能包含在内,所以我相信在运行测试生成jacoco.exec文件之前,应该为android代码进行预检测.但是,我在运行gradle构建文件时遇到了由java.lang.StackOverflowError引起的TargetInvocationException.错误是:本机方法中的致命错误:-javaagent的处理失败

这是我的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}
apply plugin: 'android'
apply plugin: 'jacoco'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            res.srcDirs = ['res']
            java.srcDir file('src')
        }
    }
}

    sourceSets {
        unitTest {
            java.srcDir file('unitTest/src')
        }
    }

    configurations {
        unitTestCompile.extendsFrom runtime
        unitTestRuntime.extendsFrom unitTestCompile
        codeCoverage
    }

    repositories {
        mavenCentral()
    }

    dependencies {
        unitTestCompile files("$project.buildDir/classes/release")
        unitTestCompile 'junit:junit:4.11'
        unitTestCompile 'org.robolectric:robolectric:2.2'
        unitTestCompile 'com.google.android:android:4.0.1.2'
        codeCoverage 'org.jacoco:org.jacoco.agent:0.6.5.201403032054:runtime@jar'
    }

    tasks.whenTaskAdded { task ->
        if(task.name == 'unitTest'){ …
Run Code Online (Sandbox Code Playgroud)

android code-coverage gradle jacoco

2
推荐指数
1
解决办法
3117
查看次数

标签 统计

android ×1

code-coverage ×1

gradle ×1

jacoco ×1