我们的应用程序通过不同的客户端支持不同的产品风格,因此我们具有不同的密钥库文件。我们需要根据类似的构建类型对构建进行签名。 “调试”,“发布”,“生产”。
android {
buildTypes {
debug {
signingConfig null
}
release {
signingConfig null
}
production {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-
android.txt'), 'proguard-production.pro'
applicationIdSuffix ".production"
}
}
signingConfigs {
A {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('xxxx')
storePassword 'xxxx'
}
B {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('xxxx')
storePassword 'xxxx'
}
C {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('xxxx')
storePassword 'xxxx'
}
D {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('xxxx')
storePassword 'xxxx'
}
}
productFlavors {
X {
if (buildTypes == "production") {
signingConfig signingConfigs.A
}
}
Y {
if (buildTypes == "production") {
signingConfig signingConfigs.B
}
}
Z {
if (buildTypes == "production") {
signingConfig signingConfigs.C
}
}
}
}
我们需要像我在代码部分中提到的解决方案。 请帮助我解决此问题说明。
thank you in advance
答案 0 :(得分:0)
尝试一下可能会对您有所帮助
signingConfigs {
Alias1Config {
keyAlias 'keyAlis1'
keyPassword '123456789'
storeFile file('D:/ABS/XYZ/keyAlis1.jks')
storePassword '1234567989'
}
Alias2Config {
keyAlias 'keyAlis2'
keyPassword '123456789'
storeFile file('D:/ABS/XYZ/keyAlis1.jks')
storePassword '1234567989'
}
}
productFlavors {
aliasV1 {
applicationId "com.abc.xyz"
versionCode 1
versionName "1.0"
signingConfig signingConfigs.Alias1Config
setProperty("archivesBaseName", "ABC_APP_$versionName.$versionCode")
}
aliasV2 {
applicationId "com.abc.xyz.pqr"
versionCode 1
versionName "1.0"
signingConfig signingConfigs.Alias2Config
setProperty("archivesBaseName", "PQR_APP_$versionName.$versionCode")
}
}