1 增加产品维度
在 library->build.gradle->android->defaultConfig 下 flavorDimensions "product" flavorDimensions 表示定义 flavor 的维度(可以有多个维度,eg:版本维度,付费版 & 免费版等);product 用于表示产品维度,易车 app & 二手车 app
2 引入 productFlavors
在 library->build.gradle->android 下创建 productFlavors 节点
productFlavors {
yiche {
dimension "product"
}
usedcar {
dimension "product"
}
}
3 定义要发布的版本属性defaultPublishConfig isusedcar ? "usedcarRelease" : "yicheRelease" ( 表示要发布易车 app 或者二手车 app,注意:isusedcar 需要在 ext 下配置isusedcar = true ,修改 isusedcar 的值 true/false 表示发布易车 / 二手车版本 )
![企业微信截图_a7900ac0-3d1a-42bd-bed8-d355733621f2.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_1_20191119045740819.png)
![企业微信截图_0a79ac57-cd9e-42a6-aad1-d41e2e77ad1b.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_2_20191119045740960.png)
4 自己的壳工程配置
在 app 的 build.gradle 中 配置 1 2 步骤即可运行
5 发布
uploadArchives 任务上传 defaultPublishConfig 配置的 Snapshot 版本到 nexus 服务器;
uploadRelease 任务上传 defaultPublishConfig 配置的 Release 版本
6 二手车模块依赖方式
引用最新版本 Release 包
compileOnly(usedcar_login, ES2) or implementation(usedcar_login, ES2)
implementation(usedcar_login_s, ES2) 为 snapshot 版本
7 flavor 使用
1 如图,在 src 下创建与配置 flavor 相同的包名
![企业微信截图_23593e79-32f4-4576-9879-0be4ec23cceb.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_3_20191119045741132.png)
2 flavor 开发
将需要做不同配置的文件拷贝到对应目录下(对应包路径也要相同) eg:在不同 flavor 中将出现两个相同的 java 类,在 main 文件夹下不包含该 java 文件
![企业微信截图_ed7ac007-fc07-4c64-a441-cd6164d6a05d.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_4_20191119045741178.png)
3 在 buildCariants 中切换 flavor 将会引用对应 flavor 中的文件替换 main 中相同的文件
![企业微信截图_b4923702-706e-402a-81d5-2265cd540bb6.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_5_20191119045741319.png)
4 在 app 的 build.gradle 的 flavor 下可以配置 defaultConfig 的任意变量,实现不同配置
![企业微信截图_1b3ec66c-a32f-4837-8a2c-6249634a1798.png](http://image109.360doc.com/DownloadImg/2019/11/1916/175976001_6_20191119045741491.png)
|