一、设置多个flavor
首先我们需要知道productFlavors来配置渠道,这里我将渠道用来表示哪种apk,如下我需要配置四种应用:
productFlavors {
huawei {
}
oppo {
}
vivo {
}
}
二、配置签名
签名可在signingConfigs中配置多个(我将所有签名文件放在了项目跟目录的key文件夹中),这样我们就可以通过signingConfigs指定预制好的签名配置。
signingConfigs {
huawei {
storeFile file("../key/xxx1.keystore")
storePassword "xxxxxx"
keyAlias "alias"
keyPassword "xxxxxx"
}
oppo {
storeFile file("../key/xxx2.keystore")
storePassword "xxxxxx"
keyAlias "alias"
keyPassword "xxxxxx"
}
vivo {
storeFile file("../key/xxx3.keystore")
storePassword "xxxxxx"
keyAlias "alias"
keyPassword "xxxxxx"
}
}
在渠道配置那里可以配置对应的签名
/ 省略其他配置...
android {
// 省略其他配置...
productFlavors {
huawei {
applicationId "com.xxx.xx"
versionCode 1
versionName "1.0.0"
signingConfig signingConfigs.huawei // 配置签名
}
oppo {
applicationId "com.xxx.xx"
versionCode 1
versionName "1.0.0"
signingConfig signingConfigs.oppo // 配置签名
}
vivo {
applicationId "com.xxx.xx"
versionCode 1
versionName "1.0.0"
signingConfig signingConfigs.vivo // 配置签名
}
}
buildTypes {
release {
// 省略其他配置...
}
debug {
// 省略其他配置...
signingConfig null // 置空,否则会使用AS默认的debug签名,或者使用和release相同的签名:debug.init(release.signingConfig)
}
}
}