您可以为此使用buildTypes。
buildTypes {
release {
// ... the usual stuff here
}
releaseAlt {
// .. the usual stuff here too like signing config etc...
}
}
现在文件层次结构:
你应该有
project/
- app/
- src/
- main/
- assets/
- logo.png // Generic assets go here
- java/
- res/
- ...
- flavor1/
- assets/
- logo.png // Specific assets for all the flavor1 Variants
- releaseAlt/
- asset/
- logo.png // Specific assets for all the releaseAlt Variants.
- flavor1ReleaseAlt/
- assets/
- logo.png // very specific assets for the flavor1ReleaseAlt Variant
- SDK/
使用此文件层次结构,构建flavor1Release
变体时,将具有来自的logo.png文件flavor1/assets/
,但是构建flavor1ReleaseAlt
变体时,此png将被on from flavor1ReleaseAlt/assets/
文件夹替换。
Gradle在配置上使用约定(默认情况下)。特别是在项目结构方面。当构建flavour1ReleaseAlt Variant时,Gradle(实际上是Android插件;))正在寻找一个名为flavour1ReleaseAlt /的文件夹,其中包含一些资产,资源,java等。这些是Gradle为此版本可以找到的最具体的应用程序资源。然后Gradle将寻找一个文件夹,简称为flavour1 /,以获取一些不太具体的应用程序资源。然后到一个更小的特定文件夹(称为releaseAlt /),最后到通用文件夹(main /)。
为了匹配Variant查找,不同的文件夹必须具有非常严格的名称:
希望这可以帮助。