メインコンテンツまでスキップ

GradleでのAndroidcode signing

ビルドプロセス中にアプリが署名されるように、Gradleの設定内でcode signingの設定を手動で指定できます。

  1. モジュールレベルのbuild.gradleファイルを開きます。

  2. コードにsigningConfigsのコードブロックを追加し、プロジェクト固有の以下の項目を定義します。

    • storeFiled
    • storePassword
    • keyAlias
    • keyPassword
  3. 署名設定をビルドタイプに関連付けます。

  4. Bitriseでアプリをビルドします。

詳細については、アプリに署名するためのGradleの設定方法をご確認ください。

build.gradleファイルでの署名設定

この例では、ビルドがキーストアファイルを使用できるように、キーストアパスはローカルとbitrise.io上で同じパスにする必要があります。

android {
// Make sure signingConfigs is defined before buildTypes.
signingConfigs {
release {
keyAlias 'MyAndroidKey'
keyPassword '***'
storeFile file("/path/to/my/keystore.jks")
storePassword '***'
}
}


buildTypes {
release {
// Use signing config for build type
signingConfig signingConfigs.release
// ...
}
}
// ...
build.gradleファイルでのEnvironment Variablesの使用

キーストアパス(storeFile)とkeystore password内で設定値とEnvironment Variablesを使用することで、ローカルとbitrise.ioで同じキーストアパスにする必要がなくなります。

System.getenv("ENV_KEY")ファイルを使用すると、build.gradleファイル内でEnvironment Variablesにアクセスできます。build.gradleファイルで使用するEnvironment Variablesを、bitrise.io上でも必ず定義してください。

キーストアパスが$HOME/keystores/my_keystore.jksの場合、build.gradleファイルは次のようになります。

android {
signingConfigs {
release {
keyAlias 'MyAndroidKey'
keyPassword '***'
storeFile file(System.getenv("HOME") + "/keystores/my_keystore.jks")
storePassword '***'
}
} ...

その後、File DownloaderのStepを使用して、$HOME/keystores/my_keystore.jksを宛先パスとしてキーストアファイルをダウンロードできます。

Code signingタブでEnvironment VariablesをkeyPasswordとして使用し、storePasswordを使用する場合、build.gradleは次のようになります。

android {
signingConfigs {
release {
keyAlias System.getenv("BITRISEIO_ANDROID_KEYSTORE_ALIAS")
keyPassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD")
storeFile file(System.getenv("HOME") + "/keystores/my_keystore.jks")
storePassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PASSWORD")
}
}

buildTypes {
release {
// Use signing config for build type
signingConfig signingConfigs.release
// ...
}
}
...