bmo*_*oij 5 android gradle android-productflavors
有没有可能一种味道是基于另一种味道的?
例如 构建.gradle:
productFlavors {
flavor1 {
flavorBase "main"
}
flavor2 {
flavorBase "main"
}
flavor3 {
flavorBase "main"
}
flavor4 {
flavorBase "flavor3"
}
flavor5 {
flavorBase "flavor3"
}
}
Run Code Online (Sandbox Code Playgroud)

我遇到了同样的问题,需要一些基本风味和从中继承的两种风味。
经过几个小时的尝试后,我最终得到的最佳解决方案是:
现在为您的子口味定义额外的源集
flavor4 {
res.srcDirs = ['src/flavor3/res', 'src/flavor4/res']
java.srcDirs = ['src/flavor3/java', 'src/flavor4/java']
resources.srcDirs = ['src/flavor3/java', 'src/flavor4/java']
}
flavor5 {
res.srcDirs = ['src/flavor3/res', 'src/flavor5/res']
java.srcDirs = ['src/flavor3/java', 'src/flavor5/java']
resources.srcDirs = ['src/flavor3/java', 'src/flavor5/java']
}
Run Code Online (Sandbox Code Playgroud)因此,在flavor3(从这个意义上说,它不是一种flavor,但我保留原来的命名)中,您可以定义通用代码和资源。唯一的缺点是,基文件夹和子文件夹中不可能有相同的类。