我正在尝试使用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)