Product Flavors and Variants

构建类型(build type)是开发过程中的一部分,通常产品从开发到发布的过程中。从默认的构建类型debugrelease的名字也能反应这一点。

Flavors允许你针对同一个应用构建出不同的版本。通常来说,对于同一个应用,如果你需要针对不同的客户定制不同的界面和体验,或者同时推出付费和免费版本,那Flavors就很管用。

每个产品配方(product flavors)相对于defaultConfig的属性都可以有以下几个自定义的值:

  • applicationId
  • minSdkVersion
  • targetSdkVersion
  • versionCode
  • signingConfig

每个产品配方定义自己的源码(source)和资源(resource),他们都跟主要的源码(main source set)同时存在。如下例子就说明相对于app/src/main/java,你还可以在如下的文件夹中增加代码:

  • app/src/paid/java
  • app/src/lite/java
  • app/src/oversea/java

同时你也可以在以下目录下增加资源文件:

  • app/src/paid/res
  • app/src/lite/res/layout
  • app/src/oversea/res/values

对于res下的其他子目录也是同样的用法。相同的资源架构同时也会应用到所有的配方上(Flavor)。

构建类型(Build Type)也支持跟配方(Flavor)一样的目录结构。一个构建类型和配方的组合叫一个变种(Variant)。

你可能感兴趣的:(Product Flavors and Variants)