之前使用 ant 在 sign release 會跳出提示來問密碼, 但是 gradle 卻不知該怎麼做.
Google 一番, 找到以下連結.
assemblerelease-task-dependency-ask-for-keystore-password
但這卻有一個問題, 雖然會提示輸入密碼, 但是最後出來的 apk 一樣沒有 sign.
以下是我的解決方法:
task('readPasswordFromInput') << {
def console = System.console()
ext.keystorePassword = console.readLine('\n\n\n> Enter keystore password: ')
android.signingConfigs.release.storePassword = ext.keystorePassword
android.signingConfigs.release.keyPassword = ext.keystorePassword
}
tasks.whenTaskAdded { task ->
if (task.name.matches("validateReleaseSigning")) {
task.dependsOn('readPasswordFromInput')
}
}
另外在 build type release 那邊加上以下
signingConfigs {
debug {
storeFile file("my-debug-key.keystore")
}
release {
storeFile file("my-release-key.keystore")
storePassword ""
keyAlias "release_key"
keyPassword ""
}
}
這樣當 release 時就可以輸入密碼也成功的 sign 了.
沒有留言:
張貼留言