Skip to main content

Androidアプリバンドルの生成と展開

概要

Bitriseを使用してAndroidAppBundleを作成することは、APKを生成することとほとんど同じです。コードからAndroidAppBundle(.aab)ファイルをコンパイルするには、いくつかのステップ入力を微調整してから、バンドルに署名してGooglePlayストアにデプロイする必要があります。

Bitriseを使用してAndroidAppBundleを作成することは、APKを生成することとほとんど同じです。あなたがしなければならないのは、いくつかを微調整することです ステップ コードからAndroidAppBundle(.aab)ファイルをコンパイルするための入力を入力し、バンドルに署名してGooglePlayストアにデプロイします。

バンドル作成をサポートするステップバージョン

次のステップは、指定されたバージョン以降である必要があります。古いバージョンのステップは、バンドルの作成をサポートしていません。

  • Androidビルド 0.10.0以降

  • Gradleランナー 1.9.0以降

  • Androidサイン 1.3.0以降

  • GooglePlayにデプロイする 1.6.0以降

Androidアプリバンドルファイルの生成

次のいずれかを使用して Android App Bundle を作成できます。 グラドルランナー ステップ または Android ビルド ステップ。

Gradleランナーステップの使用

ワークフローエディター

ビットライズ.yml

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

  3. ワークフローとパイプライン ページで、必要なワークフローを見つけます。

    workflow-and-pipelines.png
  4. クリック edit-webhook.svg ワークフロー名の横にあるボタンをクリックします。

  5. を挿入します。 グラドルランナー 後のステップ Android単体テスト そして Android リント あなたのステップ ワークフロー

  6. クリック 構成 のセクション Gradleランナー

  7. の中に 実行するGradleタスク 入力フィールド、セット、たとえば、 bundleRelease また bundleDebug プロジェクトのバンドルを作成します。

    Generating and deploying Android app bundles

    同じワークフロー内の APK と AAB

    1 つのワークフローで Android App Bundle と APK を生成したい場合は、追加のタスクを指定できます。 実行するGradleタスク 入力フィールド: 入力値を設定します bundleRelease assembleRelease リリース バージョンを生成します。

  1. を開きます bitrise.yml アプリのファイル。

  2. を挿入します。 gradle-runner 後のステップ android-unit-test そして android-lint あなたのステップ ワークフロー

    my-workflow:
      steps:
        - activate-ssh-key:
            run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
        - git-clone: {}
        - install-missing-android-tools: {}
        - android-lint: {}
        - android-unit-test: {}
        - gradle-runner:
  3. の中に gradle_task の入力 gradle-runner、たとえば、次のように設定します。 bundleRelease または bundleDebug プロジェクトのバンドルを作成します。

    my-workflow:
      steps:
        - activate-ssh-key:
            run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
        - git-clone: {}
        - install-missing-android-tools: {}
        - android-lint: {}
        - android-unit-test: {}
        - gradle-runner:
            inputs:
              - gradle_task: bundleRelease

    同じワークフロー内の APK と AAB

    1 つのワークフローで Android App Bundle と APK を生成したい場合は、追加のタスクを指定できます。 gradle_task 入力フィールド: 入力値を設定します bundleRelease assembleRelease リリース バージョンを生成します。

このようにして、ステップはAPKの代わりにAndroidアプリバンドルを生成します。

Androidビルドステップの使用

あなたは私たちのAndroidアプリのためのAndroidアプリバンドルを生成することができます Androidビルド ステップも:

ワークフローエディター

ビットライズ.yml

  1. でアプリを開きます ビットライズ

  2. クリック ワークフロー メインページのボタン。

  3. ワークフローとパイプライン ページで、必要なワークフローを見つけます。

    workflow-and-pipelines.png
  4. クリック edit-webhook.svg ワークフロー名の横にあるボタンをクリックします。

  5. を追加します。 Android ビルド 後のステップ Android単体テスト そして Android リント ワークフローのステップ。

  6. Androidプロジェクトのルートディレクトリを プロジェクトの場所 入力フィールド。

  7. に移動 ビルドタイプ 選択します aab ビルドタイプとして。

    Generating and deploying Android app bundles

    同じワークフロー内の APK と AAB

    1 つのワークフローで APK と Android App Bundle を生成する場合は、2 つ追加します。 Android ビルド 1 つを構成して Android App Bundle をビルドし、もう 1 つを構成して APK をビルドします。

  1. を開きます。 bitrise.yml アプリのファイル。

  2. を追加します。 android-build 後のステップ android-unit-test そして android-lint ワークフローのステップ。

    my-workflow:
      steps:
        - activate-ssh-key:
            run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
        - git-clone: {}
        - install-missing-android-tools: {}
        - android-lint: {}
        - android-unit-test: {}
        - android-build:
    
  3. Android プロジェクトのルート ディレクトリを指定します。 project_location 入力フィールド。

  4. の値を設定します。 build-type に入力する aab

    my-workflow:
      steps:
        - activate-ssh-key:
            run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
        - git-clone: {}
        - install-missing-android-tools: {}
        - android-lint: {}
        - android-unit-test: {}
        - android-build:
            inputs:
              - build-type: aab

    同じワークフロー内の APK と AAB

    1 つのワークフローで APK と Android App Bundle を生成したい場合は、2 つ追加します android-build 次々に手順を実行し、1 つを Android App Bundle を構築するように構成し、もう 1 つを APK を構築するように構成します。

Android App Bundleを署名する

Android App Bundleファイルに署名することは、APKに署名することと同じです。

ワークフローエディター

ビットライズ.yml

  1. キーストア ファイルを Bitrise にアップロードします。

  2. ワークフロー エディターでワークフローを開き、 アンドロイドサイン ステップ ビルドステップの後。

  3. 次のことを確認してください キーストアのパスワードキーエイリアス そしてその キーパスワード 入力フィールドに入力します。

    デフォルトの入力値

    キーストアファイルをアップロードし、必要な資格情報を入力した場合は、 Androidサイン ステップの キーストアのURLキーストアのパスワードキーストアエイリアス、 そしてその 秘密鍵のパスワード 入力は自動的に入力されます!

  4. を確認してください。 アプリのファイルパス 入力フィールドには、使用しているビルド ステップの出力と同じ出力環境変数が表示されます。

    例えば、 Android ビルド 次のいずれかをエクスポートします $BITRISE_APK_PATH または $BITRISE_AAB_PATH ステップが生成した APK および/または AAB ファイルを指す環境変数。デフォルトでは、この入力はこれらの環境変数を指します。

    Generating and deploying Android app bundles

    さらなる構成オプション

    利用可能なすべての構成オプションを確認してください。 アンドロイドサイン ワークフローエディターに進みます。あなたはできる:

    • メモリページのアライメントを有効または無効にします。 ページの配置 入力。

    • 使用 apksigner デフォルトの代わりに jarsigner とともに apksigner を有効にする 入力。

    • 特定のことを強制する 署名スキーム とともに APK署名スキーム 入力。

  1. キーストア ファイルを Bitrise にアップロードします。

  2. アプリ内で bitrise.yml ファイルに追加します sign-apk ステップ ビルドステップの後 - たとえば、 android-build -あなたの中で ワークフロー

    sign-android-workflow:
      steps:
        - android-build: {}
        - sign-apk@1:
            inputs:
    
  3. ことを確認してください。 keystore_urlkeystore_password、 そして keystore_alias 入力は正しい場所を指します。

    sign-android-workflow:
      steps:
        - android-build: {}
        - sign-apk@:
            inputs:
            - keystore_url: "$BITRISEIO_ANDROID_KEYSTORE_URL"
            - keystore_password: "$BITRISEIO_ANDROID_KEYSTORE_PASSWORD"
            - keystore_alias: "$BITRISEIO_ANDROID_KEYSTORE_ALIAS"
    

    デフォルトの入力値

    キーストア ファイルを Bitrise にアップロードし、必要な認証情報を入力した場合は、入力をまったく設定する必要はありません。デフォルト値は、ステップで定義されています。 step.yml 構成ファイルは、キーストア ファイルと必要な認証情報を指します。

  4. を確認してください。 android_app 入力フィールドには、使用しているビルド ステップの出力と同じ出力環境変数が表示されます。

    例えば、 android-build 次のいずれかをエクスポートします $BITRISE_APK_PATH または $BITRISE_AAB_PATH ステップが生成した APK および/または AAB ファイルを指す環境変数。デフォルトでは、この入力はこれらの環境変数を指します。

    このステップでは、この入力で指定された場所で署名するバイナリを検索します。

    sign-android-workflow:
      steps:
        - android-build: {}
        - sign-apk@1:
            inputs:
            - keystore_url: "$BITRISEIO_ANDROID_KEYSTORE_URL"
            - keystore_password: "$BITRISEIO_ANDROID_KEYSTORE_PASSWORD"
            - keystore_alias: "$BITRISEIO_ANDROID_KEYSTORE_ALIAS"
            - android_app: "$BITRISE_APK_PATH\\n$BITRISE_AAB_PATH"
    

    さらなる構成オプション

    利用可能なすべての構成オプションを確認してください。 android-sign 介入する その step.yml ファイル。あなたはできる:

    • メモリページのアライメントを有効または無効にします。 page_align 入力。

    • 使用 apksigner デフォルトの代わりに jarsigner とともに use_apk_signer 入力。

    • 特定のことを強制する 署名スキーム とともに signer_scheme 入力。

そして、あなたはやるべきです! Androidコード署名について詳しく知りたい場合は、ガイドをご覧ください。

AndroidアプリバンドルをGooglePlayにデプロイする

AABファイルのデプロイは、APKをGooglePlayにデプロイすることと大きな違いはありません。

アプリストアの配布前にバンドルを確認したい場合は、 Bitrise.ioにデプロイします 後のステップ Gradle Runner / Androidビルド ステップ。バンドルをにアップロードします アーティファクト ビルドのページのタブ。

初めてGooglePlayの展開を設定する

Google Playにデプロイすると、アプリがGoogleのオンラインストアに公開されます。初めてそれを行うとき、これは単にに展開するよりも少し多くの作業を必要とします bitrise.io。必要な構成が整ったら、それは非常に簡単になります。

Google Playのデプロイを初めて構成するときは、Google PlayデベロッパーアカウントをAPIプロジェクトにリンクし、APIアクセスを設定して、サービスアカウントのJSONキーをBitriseにアップロードする必要があります。

  1. 最初のAABまたはAPKを手動でGooglePlayにアップロードします GooglePlayコンソールを使用する

  2. リンク GooglePlayデベロッパーコンソールをAPIプロジェクトに変換します。

  3. サービスアカウントを使用してAPIアクセスクライアントを設定する:Google Developer Consoleでサービスアカウントを作成するときは、選択する必要があることに注意してください json なので キータイプ

  4. あなたのサービスアカウントに必要な権利を付与します GooglePlayコンソール。に移動 設定、 それから ユーザーと権限、 それから 新しいユーザーを招待する。 Google Play Publisher APIの動作方法により、サービスアカウントに少なくとも次の権限を付与する必要があります。

    • アクセスレベル:アプリ情報を表示します。

    • リリース管理:本番リリースを管理し、テストトラックリリースを管理します。

    • 店舗のプレゼンス:店舗のリスト、価格設定、配布を編集します。

  5. オプションの手順として、ストアリストに翻訳を追加できます。 アプリを翻訳してローカライズする

  6. サービス アカウントの JSON キーを汎用ファイル ストレージにアップロードします

GooglePlayへのデプロイ

Google Play にデプロイするには以下が必要です 署名された APK または AAB ファイル そしてその Google Playのデプロイ ステップ

ワークフローエディター

ビットライズ.yml

  1. 導入しようとしている場合は、 アプリ 初めて、 Google Playの設定が正しく設定されていることを確認してください そしてあなたは サービスアカウントのJSONキーをBitriseにアップロードしました

    サービスアカウントのJSONキーファイルのアップロード

    サービス アカウントの JSON キーを Bitrise にアップロードすることをお勧めしますが、必須ではありません。他の場所に保存して、そのキーへの直接リンクを提供することもできます。

  2. ワークフロー エディターを開き、 コード署名とファイル タブ。

  3. Generic File Storage で、アップロードされたサービス アカウントの JSON キーを見つけ、その名前の下にあるシークレット環境変数をコピーします。

    例えば、 BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL

  4. ワークフローを開き、を追加します GooglePlayデプロイ それにステップします。

  5. の中に サービスアカウントのJSONキーファイルのパス を入力し、コピーした環境変数を貼り付けます。

    サービスアカウントのJSONキーファイルへのダイレクトパス

    サービス アカウントの JSON キーを Bitrise にアップロードしたくない場合は、ステップの入力フィールドにファイル パスを直接追加することもできます。ファイル パスはローカルまたはリモートにすることもできます。

    • リモート JSON キー ファイルの場合、値として任意のダウンロード場所を指定できます。たとえば、 https://URL/TO/key.json

    • ローカル JSON キー ファイルの場合は、ファイル パス URL を値として指定できます。たとえば、次のようになります。 file://PATH/TO/key.json

  6. の中に パッケージ名 入力し、アプリのパッケージ名を追加します。

  7. の中に 追跡 入力して、APKをデプロイするトラックを追加します(たとえば、alpha / beta / rollout / productionまたは設定したカスタムトラック)。

  1. 導入しようとしている場合は、 アプリ 初めて、 Google Playの設定が正しく設定されていることを確認してください そしてあなたは サービスアカウントのJSONキーをBitriseにアップロードしました

    サービスアカウントのJSONキーファイルのアップロード

    サービス アカウントの JSON キーを Bitrise にアップロードすることをお勧めしますが、必須ではありません。他の場所に保存して、そのキーへの直接リンクを提供することもできます。

  2. アプリを開きます bitrise.yml ファイルを追加して、 google-play-deploy そこに向かって進んでください。

    deploy-workflow:
      steps: 
      - google-play-deploy: 
          inputs:   
    
  3. の中に service_account_json_key_path 入力するには、サービス アカウントの JSON キー ファイルへのパスを指定する必要があります。

    ファイルを Bitrise にアップロードした場合は、ワークフロー エディターの汎用ファイル ストレージにダウンロード URL を保存している環境変数を見つけることができます。

    deploy-workflow:
      steps: 
      - google-play-deploy: 
          inputs:   
          - service_account_json_key_path: "$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL"

    サービス アカウントの JSON キーを Bitrise にアップロードしなかった場合は、入力に直接パスを設定できます。ファイル パスは、ローカルまたはリモートの場所を指すことができます。

    • リモート JSON キー ファイルの場合、値として任意のダウンロード場所を指定できます。たとえば、 https://URL/TO/key.json

    • ローカル JSON キー ファイルの場合は、ファイル パス URL を値として指定できます。たとえば、次のようになります。 file://PATH/TO/key.json

  4. の中に package 入力、追加 パッケージ名 アプリの。

    deploy-workflow:
      steps: 
      - google-play-deploy: 
          inputs:   
          - service_account_json_key_path: "$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL"
          - package_name: myApp
  5. の中に track 入力として、アプリのバイナリをデプロイするトラック (たとえば、alpha/beta/rollout/production または設定したカスタム トラック) を追加します。

    deploy-workflow:
      steps: 
      - google-play-deploy: 
          inputs:   
          - service_account_json_key_path: "$BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL"
          - package_name: myApp
          - track: alpha

それで全部です!ビルドを開始またはスケジュールして、URLを外部テスターと共有するか、選択したアプリストアでアプリを配布してください。