Lightbuild アプリを公開する

Google Play でアプリを公開するには、アプリのリリース バージョンを Android App Bundle としてビルドし、アップロード鍵で署名して、Google Play Console にアップロードします。このページでは、Lightbuild プロジェクトでリリース署名を構成し、Lightbuild CLI を使用して署名付き App Bundle をビルドする方法について説明します。

アップロード鍵を作成する

Google Play は、Play アプリ署名を使用して、ユーザーに配信する APK に署名します。デベロッパーは、アップロード鍵を使用して、アップロードする App Bundle に署名します。アップロード鍵をまだ作成していない場合は、JDK に含まれている keytool を使用して作成します。

keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

このコマンドを実行すると、キーストアと鍵のパスワードの入力を求められます。その後、現在のディレクトリに upload-keystore.jks という名前のキーストア ファイルが作成されます。キーストアは、プロジェクト外の安全な場所に保存し、バージョン管理にチェックインしないでください。詳しくは、アプリへの署名をご覧ください。

リリース署名を構成する

アプリ モジュールの lightbuild.yaml ファイルで、packaging の release プロファイルに signing ブロックを追加します。ファイルにパスワードを書き込む代わりに、${NAME} 構文を使用して環境変数を参照します。

android:
  packaging:
    release:
      signing:
        storeFile: "${RELEASE_STORE_FILE}"
        storePassword: "${RELEASE_STORE_PASSWORD}"
        keyAlias: "${RELEASE_KEY_ALIAS}"
        keyPassword: "${RELEASE_KEY_PASSWORD}"

ビルド時に、Lightbuild は環境変数から各値を読み取るため、パスワードはプロジェクトのファイルに保存されません。これらの設定の詳細については、Lightbuild 構成リファレンスのパッケージ化をご覧ください。

環境変数を設定する

ビルドする前に、Lightbuild CLI を実行するターミナルで環境変数を設定します。たとえば、macOS または Linux の場合は次のようにします。

export RELEASE_STORE_FILE="$HOME/keystores/upload-keystore.jks"
export RELEASE_STORE_PASSWORD="KEYSTORE_PASSWORD"
export RELEASE_KEY_ALIAS="upload"
export RELEASE_KEY_PASSWORD="KEY_PASSWORD"

Windows の PowerShell の場合:

$env:RELEASE_STORE_FILE = "$HOME\keystores\upload-keystore.jks"
$env:RELEASE_STORE_PASSWORD = "KEYSTORE_PASSWORD"
$env:RELEASE_KEY_ALIAS = "upload"
$env:RELEASE_KEY_PASSWORD = "KEY_PASSWORD"

KEYSTORE_PASSWORD と KEY_PASSWORD はパスワードに置き換えます。CI システムでは、パスワードをシークレットとして保存し、環境変数としてビルドに公開します。

署名付き App Bundle をビルドする

リリースごとに、アプリ モジュールの lightbuild.yaml ファイルの versionCode 設定を増やし、必要に応じて versionName を更新します。Google Play では、アップロードごとにバージョン コードを上げる必要があります。詳しくは、アプリのバージョニングをご覧ください。

署名付きリリース App Bundle をビルドするには、次のコマンドを実行します。

lightbuild build app:app-release.aab

Lightbuild はバンドルを app/build/app-release.aab に書き込みます。アプリ モジュールの各ターゲットが出力を書き込む場所を確認するには、lightbuild query app/... --output=files を実行します。

アプリを Google Play にアップロードする

署名済み App Bundle を Google Play Console にアップロードします。ユーザーにリリースする前にアプリをテストするには、まず内部テストトラックにアップロードします。詳しくは、アプリを Google Play Console にアップロードするをご覧ください。