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

Androidスマホのホーム画面 Android開発

以前、AABとAPKの違いについて詳しく解説しました。

【Android】APK(Android application PacKage)とAAB(Android App Bundle)の違い
APK(Android application PacKage)とAAB(Android App Bundle)の違いについて調べてみました。経緯を織り交ぜて解説しています。

今回は、AABからAPKを生成し、インストールする方法を解説します。

AABとは?

簡単に説明すると、「必要な中核の部分にあたるファイルのみをかき集めたもの」みたいな圧縮ファイルです。

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

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

前提

今回必要になる材料です。

  • AndroidStudio
  • bundletool

bundletoolとは

Google が提供している bundletool (バンドルツール)というものについてです。

bundletool は、Gradle、Android Studio、Google Play が Android App Bundle をビルドしたり、
App Bundle を各種 APK に変換してデバイスにデプロイしたりする際に基盤となるツールです。
(Androidデベロッパードキュメントより引用)

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

これを使っていきましょう。

bundletoolのインストール

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

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

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

Homebrew が無い場合は、Homebrewのインストールから行いましょう。

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

このコマンドを実行すると、インストールできます。
チョー簡単ですね。

bundletoolのインストールの確認

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

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

AABをAPKに変換する方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bundletool install-apks --apks=app.apks

まとめ

bundletoolがあれば、AABをAPKに変換することもでき、インストールも可能です。

是非ご活用ください。

次にオススメ

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

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

【Android】APK(Android application PacKage)とAAB(Android App Bundle)の違い
APK(Android application PacKage)とAAB(Android App Bundle)の違いについて調べてみました。経緯を織り交ぜて解説しています。
タイトルとURLをコピーしました