Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不同建造类型的渐变机器人测量_Android_Build_Gradle_Android Gradle Plugin_Robolectric - Fatal编程技术网

Android 不同建造类型的渐变机器人测量

Android 不同建造类型的渐变机器人测量,android,build,gradle,android-gradle-plugin,robolectric,Android,Build,Gradle,Android Gradle Plugin,Robolectric,我正在努力让Roboletric为我的Android项目工作。我现在拥有的是 task roboletricTest(type: Test, dependsOn: "assemble") { testClassesDir = sourceSets.robolectricTest.output.classesDir android.sourceSets.main.java.srcDirs.each { dir -> def buildDir = dir.getAbsolutePat

我正在努力让Roboletric为我的Android项目工作。我现在拥有的是

task roboletricTest(type: Test, dependsOn: "assemble") {
testClassesDir = sourceSets.robolectricTest.output.classesDir

android.sourceSets.main.java.srcDirs.each { dir ->
    def buildDir = dir.getAbsolutePath().split('/')
    buildDir =  (buildDir[0..(buildDir.length - 4)] + ['build', 'intermediates', 'classes', 'debug']).join('/')
    sourceSets.robolectricTest.compileClasspath += files(buildDir)
    sourceSets.robolectricTest.runtimeClasspath += files(buildDir)
}

classpath = sourceSets.robolectricTest.runtimeClasspath
}
问题是这个任务依赖于:assembly,所以每当我想运行测试时,它都会构建所有不同的构建类型,即debug和release。我想要的是能够根据程序员想要assembleDebug还是assembleRelease动态设置dependsOn变量。我知道我可以创建两个不同的任务来解决这个问题,但我想要一种更优雅的方式,让一个任务动态工作,因为我有许多构建类型。
是否有一种方法可以动态检查任务是否将被执行?

您使用什么插件来运行测试?什么机器人分子版本?不使用插件。使用版本2.2的Robotic2.3已经发布。您不需要自定义任务,最好使用插件。检查这个