想象一下,在这样的情况下,我需要有带有或不带广告的APK版本,有或没有CustomJarSDK,以及三个市场,即GooglePlay、AmazonApps和SamsungApps。
在我的完美世界里,它应该只有7种味道:
在我的完美世界里,有一种方法可以把味觉结合在一起,例如:
这有可能吗?或者你被诅咒和幻想拥有所有这些味道.?
发布于 2016-01-27 10:59:40
你的问题很难回答。这取决于哪种资源在任何口味上都是不同的。
目前,无法扩展或合并口味。
但是,您可以使用一些技巧来改进您的项目。
例如,您可以为不同的风格使用公共源集资源。
就像这样:
+ App // module
|- src
|- common // shared srcDir
|- java
+ flavor1
|- java
+ flavor2
|- java
+ flavor3
+ flavor4然后你可以定义这样的事物:
sourceSets {
flavor1.java.srcDir 'src/common/java'
flavor2.java.srcDir 'src/common/java'
flavor3.java.srcDir 'src/common/java'
}在您的情况下,您应该评估口味:
可以使用公共块:
sourceSets {
flavor1.java.srcDir = ['src/common/java', 'src/flavor1/java']
flavor2.java.srcDir = ['src/common/java', 'src/flavor2/java']
flavor3.java.srcDir = ['src/common/java', 'src/flavor3/java']
}每个风味都可以使用在另一个风味中定义的相同的源集。
像这样的事:
flavor2{
java.srcDirs = sourceSets.flavor1.java.srcDirs
res.srcDirs = sourceSets.flavor1.res.srcDirs
resources.srcDirs = sourceSets.flavor1.resources.srcDirs
aidl.srcDirs = sourceSets.flavor1.aidl.srcDirs
renderscript.srcDirs = sourceSets.flavor1.renderscript.srcDirs
assets.srcDirs = sourceSets.flavor1.assets.srcDirs
}另外,每种风格都可以定义多个资源文件夹,。例如:
android.sourceSets {
flavor1.res.srcDirs = ['src/main/res', src/main/res2']
}https://stackoverflow.com/questions/35033162
复制相似问题