过滤变种版本

当你添加了 dimensions 及 flavors 时,你可以移除无意义的 variants。比如你定义了一个使用 Web API 的 flavor 及一个为了更快地测试而硬编码假数据的 flavor。后者只会用于开发阶段而不会存在于发布阶段。你可以通过 variantFilter 闭包方法移除这个 variant:

  1. android {
  2. productFlavors {
  3. realData
  4. fakeData
  5. }
  6. variantFilter { variant ->
  7. def names = variant.flavors*.name
  8. if (names.contains("fakeData") && variant.buildType.name == "release") {
  9. variant.ignore = true
  10. }
  11. }
  12. }

像上面那样配置后,你的项目只会存在三个 variants:

  • realDataDebug
  • realDataRelease
  • fakeDataDebug

查看 DSL reference 了解可以通过 variant 获取的所有属性。