Skip to main content

GradleでのAndroidコード署名

概要

Gradle構成でコード署名構成を手動で指定して、Bitriseでのビルドプロセス中にアプリが署名されるようにすることができます。

Gradle構成でコード署名構成を手動で指定して、ビルドプロセス中にアプリが署名されるようにすることができます。

  1. モジュールレベルを開く build.gradle ファイル。

  2. 追加します signingConfigs コードをコードブロックし、プロジェクトに固有の次のエントリを定義します。

    • storeFiled

    • storePassword

    • keyAlias

    • keyPassword

  3. 署名構成をビルドタイプに添付します。

  4. Bitriseでアプリを作成します。

詳細については、方法を確認してください アプリに署名するようにGradleを構成する

例1 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
          // ...
      }
  }
  // ...

例2 build.gradleファイルでの環境変数の使用

ローカルとオンで同じキーストアパスを持つことを回避できます bitrise.io キーストアパスで構成値と環境変数を使用する(storeFile)およびキーストアのパスワード。

あなたは使用することができます System.getenv("ENV_KEY") 内の環境変数にアクセスするためのファイル build.gradle ファイル。で使用する環境変数を必ず定義してください build.gradle 上のファイル 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 '***' 
       } 
   } ...

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

環境変数を次のように使用する場合 keyPasswordstorePasswordコード署名 タブ、あなたの 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
          // ...
      }
   }
   ...