我有一个beta
这样定义的自定义构建类型:
buildTypes {
debug {
applicationIdSuffix ".debug"
testCoverageEnabled = false
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
beta {
initWith release
}
}
鉴于beta
使用的是initWith release
,人们会期望 beta 具有 的所有属性release
。但是,在尝试运行时beta
,Android Studio 会显示以下错误
“您当前选择的变体的 APK 未签名...”
在项目设置中创建签名配置,选择它,然后点击“应用”似乎不起作用。相反,必须手动编写签名配置:
signingConfigs {
beta {
storeFile file(‘…’)
storePassword ‘…’
keyAlias = ‘…’
keyPassword ‘…’
}
}
问题:
- 为什么必须在构建脚本中手动编写签名配置?
- 为什么
release
构建类型不需要显式签名配置,直到您实际生成签名的 APK? - 鉴于这
beta
应该与release
via完全一样initWith release
,为什么行为会如上所示不同?