以下の記事で、AAB と APKの違いについて詳しく解説しました。
今回は、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 をビルドする基盤となるツールです。Androidデベロッパードキュメントより
bundletool
は App Bundle を各種 APK に変換してデバイスにデプロイすることができます。
記載されている通り、これを使うことによって 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 が開発された経緯について、物語形式で解説しています!
手前味噌ですが、おすすめです!💪