【发布时间】:2022-08-09 04:37:42
【问题描述】:
我有一个 Android build.gradle.kts 具有多种风格、多种构建类型和不同的组合签名配置,它看起来像这样:
android {
signingConfigs {
create(\"lite-release\") {
storeFile = file(\"myLiteReleaseKey.keystore\")
storePassword = \"litePassword\"
keyAlias = \"MyLiteReleaseKey\"
keyPassword = \"litePassword\"
}
create(\"full-release\") {
storeFile = file(\"myFullReleaseKey.keystore\")
storePassword = \"litePassword\"
keyAlias = \"MyFullReleaseKey\"
keyPassword = \"litePassword\"
}
create(\"lite-alpha\") {
storeFile = file(\"myLiteAlphakey.keystore\")
storePassword = \"password\"
keyAlias = \"MyLiteReleaseKey\"
keyPassword = \"password\"
}
create(\"full-alpha\") {
storeFile = file(\"myFullAlphaKey.keystore\")
storePassword = \"password\"
keyAlias = \"MyFullReleaseKey\"
keyPassword = \"password\"
}
}
buildTypes {
getByName(\"release\") {
isMinifyEnabled = true
isShrinkResources = true
}
create(\"alpha\") {
initWith(getByName(\"release\"))
versionNameSuffix = \"-alpha\"
applicationIdSuffix = \".alpha\"
}
}
flavorDimensions += \"app\"
productFlavors {
create(\"lite\") {
dimension = \"app\"
}
create(\"full\") {
dimension = \"app\"
}
}
}
即使它应该是简单的东西,我在尝试分配签名时也被卡住了。 应该是这样的。。
productFlavors.getByName(\"lite\") {
buildTypes.getByName(\"release\") {
signingConfig = signingConfigs.getByName(\"lite-release\")
}
}
productFlavors.getByName(\"full\") {
buildTypes.getByName(\"release\") {
signingConfig = signingConfigs.getByName(\"full-release\")
}
}
.. 但是当我构建 \"liteRelease\" 时,它需要最后一个分配,在上面的示例中为 \"full-release\" 签名。
你能告诉我如何正确地做到这一点吗?
标签: android android-gradle-plugin build.gradle gradlew gradle-kts