Pau*_*ndi 2 android code-signing gradle build.gradle android-gradle-plugin
我需要使用特定的签名配置来签署产品风格。我在 stackoverflow 上找到了一些参考资料,例如this和this。它适用于我的风味发布版本,但不适用于调试版本。我在 gradle 中有这样的配置:
...
signingConfigs {
release {
storeFile file("../config/keystores/release_keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
debug {
storeFile file("../config/keystores/debug.keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
other {
storeFile file("../config/keystores/other")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
}
flavorDimensions "dim"
productFlavors {
production {
dimension "dim"
}
other {
dimension "dim"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
productFlavors.other.signingConfig signingConfigs.other
productFlavors.production.signingConfig signingConfigs.release
}
debug {
productFlavors.other.signingConfig signingConfigs.other
productFlavors.production.signingConfig signingConfigs.debug
}
}
Run Code Online (Sandbox Code Playgroud)
这对于味道来说非常有效otherRelease。other但是当我使用构建配置时,我的 APK 没有使用签名配置进行签名otherDebug。该release版本已正确签名。
有谁知道为什么在调试模式下签名配置没有按照配置应用?
我终于弄清楚出了什么问题,感谢 @AllanHasekawa 在另一期中的评论:Signing Product Flask with gradle。简而言之,我必须signingConfig null在里面添加buildTypes,因为 Android 添加了一些默认的签名配置。尽管我试图超越它。根据我的问题完成示例:
...
signingConfigs {
release {
storeFile file("../config/keystores/release_keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
debug {
storeFile file("../config/keystores/debug.keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
other {
storeFile file("../config/keystores/other")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
}
flavorDimensions "dim"
productFlavors {
production {
dimension "dim"
}
other {
dimension "dim"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// this loop is a better implementation than my previous example
productFlavors.all { flavor ->
flavor.signingConfig signingConfigs.release
}
productFlavors.other.signingConfig signingConfigs.other
}
debug {
signingConfig null
// this loop is a better implementation than my previous example
productFlavors.all { flavor ->
flavor.signingConfig signingConfigs.debug
}
productFlavors.other.signingConfig signingConfigs.other
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |