Android gradle build强制我的AndroidTests在src / androidTests中。如何将其更改为我选择的另一个目录?
以下是一些背景知识: 我正在从eclipse迁移一个项目。
根据构建文档,当我将其添加到我的gradle构建文件时:
androidTest.setRoot('tests')
android gradle构建执行此操作: "注意:setRoot()将整个sourceSet(及其子文件夹)移动到新文件夹。这会将src / androidTest / *移动到tests / *"
这对于构建非常有用,并且可以很好地运行。
然而,它强制我的项目结构将我的androidTests放在:src / AndroidTest中。这使得Eclipse无法编译,因为它认为所有测试代码都应该在名为androidTests.com.etc.etc.etc的包中...
我想设置一些这样的属性:
androidTest { java.srcDirs = ['tests'] }
答案 0 :(得分:12)
androidTest.setRoot('tests')
将重置sourceSets的根目录,以便
tests/java
tests/res
您可以使用
单独配置它们android {
sourceSets {
androidTest {
java.srcDirs = ['tests']
}
}
}
注意:这使用android.sourceSets
,因为Android插件使用自定义sourceSets。
答案 1 :(得分:2)
如何做到这一点略有不同。将以下内容放在我的build.gradle文件中对我有用:
android {
sourceSets {
androidTest{
java.srcDir file('src/tests/java')
}
}
}