6.1 产品定制

一个 product flavor 定义了可以通过工程构建应用的自定义版本。一个独立的工程可以定义不同的flavor改变生成的应用。

这种被设计的新概念对于版本间差异非常小的时候很有用。如果“这是同一个应用吗?”的答案是肯定的话,那么这种方式的确比使用库工程的方式要好得多。(译者注:以前的方法要生成多个包,可能是从采用多个不同的应用工程+一个库工程的方式,现在这种新的方式比我们以前的老方式好多了)

Product flavors 是通过 productFlavors DSL容器定义的:

  1. android {
  2. ....
  3. productFlavors {
  4. flavor1 {
  5. ...
  6. }
  7. flavor2 {
  8. ...
  9. }
  10. }
  11. }

这里创建了两个 flavors,分别是 flavor1 和 flavor2 .
注意:flavors 的名字不能和已存在的 Build Type 名字或者 androidTest sourceSet 冲突。