每一个 Build Variant 代表一个应用的不同版本,例如一个应用可以有免费版,和收费版,或者针对不同的设备的版本。

构建变体由一种 Build Type 和一种 Product Flavor 组成。
例如,有以下Build Type 和 Product Flavor:

Build Type :release , debug
Product Flavor : free, vip

那么最终会有组成四种 Build Variant

freeRelease, freedebug, vipRelease, vipDebug

四种Build Variant 可以有公共的代码和资源,和各自差异化的代码和资源

配置Build Type

在模块级别的 build.gradle

android {    buildTypes{         //默认创建         release {         }         //默认创建         debug{         }         //新增         jniDebug{         }    } }

配置Product Flavor

同样是在模块级的 build.gradle, Product Flavor 多了一个概念,叫做维度(Dimension), 不同的维度又可以组合成一种新的 Variant。

如下,是定义了两种维度,收费维度和区域维度,不同维度之间可以再组合。

配置如下:

android {    //声明有两种维度,pay和area    flavorDimensions "pay","area"     productFlavors {        free {            dimension "pay"        }        vip {            dimension "pay"        }        cn {            dimension "area"        }        us {            dimension "area"        }      }}

在工程的 src目录中,建立四种 flavor 对应的文件夹,加上 src/main ,最终目录如下:

src/mainsrc/freesrc/vipsrc/cnsrc/us

我们可以在 src/main 中放公共代码和资源,在每一种 flavor 对应的文件夹下,放差异化的代码。

更多相关文章

  1. 免费Android客户端静态代码安全分析工具—Dexter
  2. Android(安卓)Studio开发界面自定义,更有利于开发
  3. Android中ViewFlipper实现动态加载view
  4. Fresco集成Okhttp3
  5. Android控件之Spinner用法详解
  6. Android(安卓)focus search returned a view that wasn't able t
  7. Android一年工作经验应掌握的知识点
  8. android中selector改变界面状态用法小结
  9. Android(安卓)cmake编译FFmpeg

随机推荐

  1. ubuntu 64 adb 识别android设备
  2. android 开发-spinner下拉框控件的实现
  3. android activity设置全屏以及Android获
  4. Android(shape.xml)
  5. 《Android(安卓)群英传》 阅读笔记 第四
  6. android-RelativeLayout实现顶部、中部、
  7. 善用Android预定义样式
  8. Android设置字间距和行间距
  9. Android(安卓)实例子源代码文件下载地址3
  10. ToggleButton例子