productFlavorss打包
2018-09-25 本文已影响0人
满天星爱我
配置多版本Apk
在build.gradle
配置 productFlavors,代码如下
android {
...
//配置两种维度:免费和渠道
flavorDimensions "isfree","channel"
//配置多版本Apk
productFlavors {
//免费产品
free {
//包名
applicationId "com.kdp.productflavorss.free"
//替换AndroidManifest属性,如果要替换多个属性,
// 则写法如: manifestPlaceholders = [VALUE_NAME1 : "value" , VALUE_NAME2 : "value"]
//在manifest中要给对应的值使用占位符,形如${app_name}
manifestPlaceholders = [app_name: "@string/app_name"]
//只打arm平台的包
ndk {
abiFilters "arm64-v8a", "armeabi", "armeabi-v7a"
}
//版本号
versionCode 1
//版本名
versionName "1.0"
//配置release签名
signingConfig signingConfigs.releaseSign
dimension "isfree"
}
//付费产品
produce_pay {
//包名
applicationId "com.kdp.productflavorss.pay"
//替换AndroidManifest属性
manifestPlaceholders = [app_name: "@string/app_name"]
//版本号
versionCode 1
//版本名
versionName "1.0"
//配置release签名
signingConfig signingConfigs.releaseSign
dimension "isfree"
}
//渠道A
produce_A {
//包名
applicationId "com.kdp.productflavorss.A"
//替换AndroidManifest属性
manifestPlaceholders = [app_name: "@string/app_name"]
//版本号
versionCode 1
//版本名
versionName "1.0"
//配置release签名
signingConfig signingConfigs.releaseSign
dimension "channel"
}
//渠道B
produce_B {
//包名
applicationId "com.kdp.productflavorss.B"
//替换AndroidManifest属性
manifestPlaceholders = [app_name: "@string/app_name"]
//版本号
versionCode 1
//版本名
versionName "1.0"
//配置release签名
signingConfig signingConfigs.releaseSign
dimension "channel"
}
}
}
-
注意
Android Studio 3.0之后,如果要构建多个flovas,
需要在build里面加入flavorDimensions,定义特点维度(也就是命名特点维度),如上例所示定义了两个维度,分别为 是否收费和渠道,下面是配置发布的4种 版本