我有一个使用30种产品口味的项目。除了“主”代码,口味没有太多,只是一些独特的资源。因为有这么多,所以我想像这样构造我的代码目录,使它更有条理:
- productFlavors
- flavor1
- java
- res
但是,当它们位于与“主”文件夹不同的级别时,构建并不会识别它们的味道。有什么办法能让这件事成功吗?
发布于 2015-11-30 19:02:48
我有一个使用30种产品口味的项目
再来一次,你就能和巴斯金-罗宾斯最初的31种口味匹配了。
但是,当它们位于与“主”文件夹不同的级别时,构建并不会识别它们的味道。有什么办法能让这件事成功吗?
您可以覆盖模块的build.gradle文件中的源来源。虽然我还没有为您的场景尝试过它(仅用于使用Gradle构建Eclipse风格的项目),但类似这样的方法应该会奏效:
android {
// lots of cool stuff here
sourceSets {
flavor1 {
manifest.srcFile 'src/productFlavors/flavor1/AndroidManifest.xml'
java.srcDirs = ['src/productFlavors/flavor1/java']
aidl.srcDirs = ['src/productFlavors/flavor1/aidl']
res.srcDirs = ['src/productFlavors/flavor1/res']
assets.srcDirs = ['src/productFlavors/flavor1/assets']
}
// lather, rinse, repeat
}
}如果您坚持src/productFlavors/.../的固定模式(其中...是风味名称),您可能可以使用一些Groovy脚本来迭代一个风味名称数组,并相应地连接源代码集。
https://stackoverflow.com/questions/34005874
复制相似问题