【Android】AAB から APK を生成(変換)し、インストールする方法

Androidスマホのイメージ画像Androidアプリ開発

以下の記事で、AAB と APKの違いについて詳しく解説しました。

【Android】APK(Android application PacKage)とAAB(Android App Bundle)の違い
サバ缶 どうもこんにちは!サバ缶(@tech_begin)です。 ストア公開するにあたって、APKとAABの違いを理解しておこうと思い、詳細について調べてみました。 意外と奥が深いファイル形式です。使い分けができるように理解を深めておきまし

今回は、AABからAPKを生成し、インストールする方法をご紹介します!

AAB(Android App Bundle)とは?

詳しくは、上のリンクを…と言いたいところですが、簡単に振り返りましょう。

「必要な中核の部分にあたるファイルのみをかき集めたもの」のような圧縮ファイルをAAB(Android App Bundle)と呼びます。

その AAB を GooglePlayストアにアップロードすると、ユーザがダウンロードする際に端末に合わせた APK を生成してくれます。

AAB の導入で、Google が APK の生成を担ってくれるようになりました。

前提

それでは、本題に入ります。

AAB から APK を生成していきましょう。

必要な材料は、以下の通りです。

  • AndroidStudio
  • bundletool

bundletoolとは

Google が提供している bundletool (バンドルツール)というものがあります。

bundletool は、Android Studio、Android Gradle プラグイン、Google Play が Android App Bundle をビルドする基盤となるツールです。

bundletool は App Bundle を各種 APK に変換してデバイスにデプロイすることができます。

Androidデベロッパードキュメントより

記載されている通り、これを使うことによって AAB を APK に変換することが可能です!

こちらを使って進めていきます。

bundletoolのインストール

bundletoolのインストール方法は以下の2つがあります。

  • Github にリポジトリがあるので、そこからダウンロードしてインストールする
    • https://github.com/google/bundletool
  • Homebrew でインストール

今回は、Homebrewでインストールを行います。

サバ缶
サバ缶

Homebrew が無い場合は、
Homebrewのインストールから行ってください!

では、Homebrewを使って、bundletoolをインストールしていきます!

brew install bundletool

このコマンドを実行すると、インストールできます👌

bundletoolのインストール確認

Homebrew でインストールした場合、下記のコマンドで確認することができます。

brew list

このコマンドを実行して、bundletool が追加されていたらインストール成功です!

AABをAPKに変換する方法

この方法は、生成されるAPKの内容を確認する際に使います。

実際にインストールするためのAPKは、次の「署名付きのAABをAPKに変換する方法」を参照ください。

Androidデベロッパードキュメントでは、下記のような例が挙げられています。

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

これをご自身の環境に合わせて実行しましょう。

--bundle の後はAABのファイル名、--output の後は出力するAPKのファイル名ですね。

拡張子は必ず「.apks」としてください。

APKが複数まとまったファイルとして生成されます。

署名付きのAABをAPKに変換する方法(converter)

端末にインストールする場合は、署名情報を含める必要があります。

署名情報を指定しなければ、デバッグ用のキーを使ってAPKの署名を行います。

bundletool build-apks --bundle=app.aab \
--output=app.apks \
--ks=/Users/yamada/Desktop/keystore/key \
--ks-pass=pass:keystore-password \
--ks-key-alias=key-alias \
--key-pass=pass:key-password

必要な情報は、上から順に以下の通りです。

  • aabの名前
  • 出力後のファイル名
  • キーストア(ks)のファイルパス(ファイル名まで指定)
  • キーストアのパスワード(ks-pass)
  • キーストアのキーのエイリアス(ks-key-alias)
  • キーストアのキーのパスワード(key-pass)

ちなみに「\」は改行を意味しています。

「\」を入力した状態で Enterキーを押すと「>」が表示され、続きを入力できます。

生成したAPKをインストールする

bundletoolを使って、端末にインストールします。

bundletool install-apks --apks=app.apks

まとめ

bundletoolを導入して、コマンド実行するだけでしたね。

bundletool はあまり聞き慣れないツールですが、AABをAPKに変換することも、端末へのインストールをすることも可能です。

是非ご活用ください。

次にオススメ

AABとAPKの違いについて詳しく解説しています。

AAB が開発された経緯について、物語形式で解説しています!

手前味噌ですが、おすすめです!💪

【Android】APK(Android application PacKage)とAAB(Android App Bundle)の違い
サバ缶 どうもこんにちは!サバ缶(@tech_begin)です。 ストア公開するにあたって、APKとAABの違いを理解しておこうと思い、詳細について調べてみました。 意外と奥が深いファイル形式です。使い分けができるように理解を深めておきまし
タイトルとURLをコピーしました