基于Gradle中的构建变体的不同drawable

ken*_*nny 8 android gradle android-gradle-plugin

我的gradle文件中有两种风格:flavor1和flavor2.与构建类型一起,它们创建以下构建变体:

flavor1-debug
flavor1-release
flavor2-debug
flavor2-debug
Run Code Online (Sandbox Code Playgroud)

假设我希望每个变体都有不同的drawable,我应该把它放在哪里?

我的文件夹结构是

src
 |__ main
 |__ flavor1
 |__ flavor2
 |__ debug
 |__ release
Run Code Online (Sandbox Code Playgroud)

我知道,根据这个那个

所有资源(Android资源和资产)都使用覆盖优先级,其中构建类型会覆盖产品风格,后者会覆盖主要的sourceSet.

然而,这意味着,如果我把它的生成类型文件夹,然后调试变体将具有相同的调试绘制和释放变体将具有相同的发行绘制.

我想我可以从一开始就创造出更多特定的口味,例如flavor1release,flavor1debug,flavor2release,flavor2debug,但我最终会得到8个变种.我可能不会根据这个构建一些构建类型,但这似乎不是很干净.

Sco*_*rta 10

实际上还有其他可用的源集.你可以这样做:

src
 |__ main
 |__ flavor1
 |__ flavor1Debug
 |__ flavor1Release
 |__ flavor2
 |__ flavor2Debug
 |__ flavor2Release
 |__ debug
 |__ release
Run Code Online (Sandbox Code Playgroud)

我认为它会给你你想要的东西 - 在一个flavor + build类型文件夹中,你可以在适当的资源子目录中拥有你的特定于变体的资源.

有关详细信息,请参阅http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Sourcesets-and-Dependencies上的文档.