我的gradle文件中有两种口味:flavor1和flavor2。与构建类型一起,它们创建以下构建变体:
flavor1-debug
flavor1-release
flavor2-debug
flavor2-debug
假设我想为每个变体设置不同的drawable,我应该把它放在哪里?
我的文件夹结构是
src
|__ main
|__ flavor1
|__ flavor2
|__ debug
|__ release
我知道,根据this
使用覆盖优先级使用所有资源(Android资源和资产) 其中Build Type会覆盖Product Flavor,它会覆盖 main sourceSet。
然而,这意味着如果我将它放在Build Type文件夹中,那么调试变体将具有相同的调试drawable,并且release版本将具有相同的release drawable。
我想我可以从头开始创造更多特定口味,例如flavor1release,flavor1debug,flavor2release,flavor2debug,但我最终会得到8个变种。我可能不会根据this构建一些构建类型,但这似乎不是很干净。
答案 0 :(得分:9)
实际上还有其他可用的源集。你可以这样做:
src
|__ main
|__ flavor1
|__ flavor1Debug
|__ flavor1Release
|__ flavor2
|__ flavor2Debug
|__ flavor2Release
|__ debug
|__ release
我认为它会给你你想要的东西 - 在一个flavor + build类型文件夹中,你可以在适当的资源子目录中拥有你的特定于变体的资源。
有关详细信息,请参阅http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Sourcesets-and-Dependencies处的文档。