Androidでgradleファイルを記述するときに、build.gradleのsigningConfigsの欄に直でパスワードを書いていませんか?
パスワードを直に書かない方法だとgradle.propertiesに設定を書いてそれを利用する方法、標準入力から毎度入力する方法もあります。ですがあまりスマートとはいえません。
しかしapply from
で外部のgradleファイルとして読み込むととても簡単に設定情報が外部ファイルに切り出せます。
やりかたは簡単で以下のとおり。
app/build.gradle
android {
// ...
// signingConfigs
apply from: 'signingConfigs/debug.gradle', to: android
apply from: 'signingConfigs/release.gradle', to: android
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.debug
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
}
app/signingConfigs/debug.gradle
signingConfigs {
debug {
storeFile file("debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
debug.gradleなどをプロジェクト間で共通にしておけば、署名ファイルが一意に使いまわせてよいです。
この方法は、signingConfigsだけでなくbuildTypesなどにも利用できるので、決まりきった設定は外部ファイルに切り出すと楽です。
app/build.gradle
android {
// ...
// signingConfigs
apply from: 'signingConfigs/debug.gradle', to: android
apply from: 'signingConfigs/release.gradle', to: android
// buildTypes
apply from: 'buildTypes/debug.gradle', to: android
apply from: 'buildTypes/release.gradle', to: android
}
app/buildTypes/debug.gradle
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.debug
}
}
簡単なサンプル作ったので実行確認にどぞ