我想知道是否可以为特定风味组组合提供文件或配置设置。例如,我有 2 个风味组,每个组有 2 种不同的风味:
风味组:版本
- v2
- v3
风味组:类型
- 自由的
- 满的
当订购“类型”、“版本”时,我可以构建 4 种不同风格的应用程序:
- 免费V2
- 自由V3
- 全V2
- 全V3
我的源代码树如下所示:
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
这正是我想要的,并且非常适合我的项目。但是,我希望我可以为特定的风味组组合提供文件。例如,我想为 FullV3 和 FullV2 提供不同的 AndroidManifest。我认为这是不可能的,或者?例如:
/src
/free
/res
/full
/res
/v2
/java
/res
AndroidManifest.xml (features and permissions for v2 flavors)
/v3
/java
/res
AndroidManifest.xml (features and permissions for v3 flavors)
/fullv3
AndroidManifest.xml (features and permissions for full v3 only!)
/fullv2
AndroidManifest.xml (features and permissions for full v2 only!)
我也很高兴能够在 gradle 构建文件中执行此操作:
productFlavors {
free {
packageName ...
flavorGroup "type"
}
full {
packageName ...
flavorGroup "type"
}
v2 {
packageName ...
flavorGroup "version"
}
v3 {
packageName ...
flavorGroup "version"
}
fullv2 {
... <-- specifically for the full-v2 combination
}
fullv3 {
... <-- specifically for the full-v3 combination
}
}
注意:一种解决方案是只有 1 个风味组并明确定义 4 种风味:
- 免费V2
- 免费V3
- 全V2
- 全V3
但是,这对我来说不是一个可行的解决方案,因为我必须为每个版本的免费和完整风格复制所有特定于版本的代码。