# 产品定制
Product flavor 可定义应用的不同定制版本,一个项目可以同时定义多个不同的 flavor 来改变应用的输出。
不同定制版本之间的差异非常小的情况,可以考虑使用 Product flavor。虽然项目最终会生成多个定制版本,但是它们本质上都是同一个应用。这种做法可能是比使用 Library 项目更好的实现方式。
Product flavor 需要在 **productFlavors** 这个 DSL 容器中声明:
~~~
android {
....
productFlavors {
flavor1 {
...
}
flavor2 {
...
}
}
}
~~~
这里创建了两个flavor,名为 **flavor1** 和 **flavor2**。
> 注意:flavor 的命名不能与已存在的 *Build Type* 或者与 **androidTest** 的 *sourceSet* 有冲突。
- 译者序
- 简介
- 新构建系统的目标
- 为什么使用 Gradle?
- 配置要求
- 基础项目
- 构建文件示例
- 项目结构
- 配置项目结构
- 构建任务
- 通用任务
- Java 项目的 Task
- Android Tasks
- 基本的构建定制
- Manifest 属性
- 构建类型
- 签名配置
- 运行 ProGuard
- 清理资源
- 依赖、Library 和多项目
- 包依赖
- 本地包依赖
- 远程包依赖
- 多项目设置
- Library 项目
- 创建 Library 项目
- 普通项目和 Library 项目的区别
- 引用 Library 项目
- Library 项目发布
- 测试
- 单元测试
- 基本知识和配置
- 运行测试
- 测试 Android Library 项目
- 测试报告
- 独立项目
- 多项目报告
- Lint 支持
- 构建 Variants(变种)版本
- 产品定制
- 构建类型+产品定制=构建变种版本
- 产品定制的配置
- 源组件和依赖
- 构建和任务
- 测试
- 多定制的变种版本
- 高级构建的自定义
- 构建选项
- Java 编译选项
- aapt 选项
- dex 选项
- 操作 task
- 构建类型和产物定制的属性引用
- 使用sourceCompatibility 1.7
- 附录
- ApplicationId 与 packageName