分渠道打包。
productFlavors是在gradle中配置多渠道的打包的工具。
使用productFlavors区分不同的产品,定义不同的逻辑,使构建部分有差异的Android项目更加方便。
在app:
级别下的gradle文件中,加入productFlavors\
- android {
- compileSdkVersion 26
- buildToolsVersion "26.0.0"
- defaultConfig {
- ....
- }
- buildTypes {
- ....
- }
- sourceSets {
- ....
- }
- //创建productFlavors
- productFlavors {
- }
- }
在productFlavors
下创建产品product
与temp
- productFlavors {
- //新建产品product
- product {
- //程序包名
- applicationId "study.ung.differentsource.product"
- //不同渠道号
- manifestPlaceholders = [UMC:"product-Complete"]
- //versionName
- versionName "1.0.0"
- //versionCode
- versionCode 1
- }
- //新建产品temp
- temp {
- //程序包名
- applicationId "study.ung.differentsource.temp"
- //不同渠道号
- manifestPlaceholders = [UMC:"product-Temp"]
- //versionName
- versionName "2.1.1"
- //versionCode
- versionCode 2
- }
- //...Others
如果项目中对不同产品区分不同的代码,比如服务器地址的区分,或者某些其他常量的区分。
说明:当前选取的渠道文件夹颜色会与未选取的有差异
注意:最好先切换到对应的产品类型,再建立包与类文件
- //不同产品不同的文件
- product {
- java.srcDirs = ['src/product/java']
- }
- temp {
- java.srcDirs = ['src/temp/java']
- }
使用方式:产品名Compile “xxx.xxx.xx”
- //不同产品引入不同的包
- productCompile "com.android.support:appcompat-v7:26.+"
- tempCompile "com.android.support.constraint:constraint-layout:1.0.2
联系客服