Zenn
🍣

[Android]aabファイルをapkファイルに変換する

2025/02/10に公開

はじめに

そもそもaabをapkにする理由はほぼないのですが、Firebaseにテスト配信する場合はapkでないと簡単にアップできません(割愛しますがGoogle Play Consoleを経由する必要があるためアカウントが必要)
なのでapkをgradleコマンドまたは開発環境でビルドして作ってそれをfirebaseにあげれば解決です。

しかし手元にaabファイルしかないよってときにaabを強制的にapkにする方法としてメモしておきます。
ちなみに仕組み的にapkからaabに変換して作ることは不可能です。
※大は小を兼ねる的な意味でaab(大)→apk(小)は可能だが、小→大は不可能

aab→apk

aabファイルをapkにするにはbundletool.jarが必要となります。そのコマンドで一旦apksファイルにし、解凍してapkを取得するという流れになります。

1.bundletoolをダウンロードする

下記のサイトより最新のbundletool.jarをダウンロードしてください
https://github.com/google/bundletool/releases


※bundletool-all-1.18.0.jarファイル

2.bundletool.jarを使ってapksファイルを生成

コマンドは下記のようになります

java -jar [ダウンロードしたjarファイルパス] build-apks --bundle=[対象のaabファイルパス] --output=[出力したいapksのファイル名] --mode=universal

となります。

実際に行うと

java -jar bundletool-all-1.18.0.jar build-apks --bundle=test.aab --output=test.apks --mode=universal

ダウンロードしたjarファイルを指定し、test.aabファイルをtest.apksファイルに変更します

3.apksからapkファイルを取得

生成されたtest.apksをtest.zipに拡張子を変更しzipにします。
zipを解凍するとuniversal.apkファイルが入っています。
これでaabをapkに変換することができました。

私の場合はこれをfirebaseにアップします。

Discussion

ログインするとコメントできます