我是Product Flavors
的新手,我已经通过很多链接来理解它。但是很少有疑问仍然不清楚。我有3种产品口味,即:qa
,dev
和prod
。我只创建了这三种产品风格,因为我需要更改不同风格的URL和一些API密钥,我通过创建3个不同的软件包并在{{{{{}}中放置相同的java
(具有URL)文件来完成这些操作。 1}}目录。这就是我的app/src
。我需要在每种口味中加入哪些强制性的东西?与build.gradle
,proguard
:
signingConfigs
答案 0 :(得分:1)
产品口味的工作方式使您最终得到每个dimension
中的数字口味乘以buildTypes
的数量,在您的情况下,您在一个口味中有3种口味维度和2种构建类型,最终得到3x2 = 6个构建变体,如下所示:
每个组合是相关产品风味配置和相关构建类型配置组合的实际组合。变体qaDebug
的含义,它的配置来自qa
下定义的debug
下定义的debug
。因此,如果proguardFiles
已经定义了qa
,那么通常不需要在qa
中定义它,除非signingConfig
需要额外的计划配置才能使用prod
然后自己的代码需要决定一个不同的事情,因此应该针对每种风格而不是在构建类型中定义proguard。
我想指出的另一个方面是release
,其中prod
和Release
的定义值相同。这意味着以signingConfig
开头或以qaRelease
结尾的任何组合都会设置prodDebug
,在这种情况下为:prodRelease
,devRelease
,{ {1}}和mount
。
因此,配置完全取决于您的选择和设计,并非所有项目都具有相同的配置。