🍣
[Android]aabファイルをapkファイルに変換する
はじめに
そもそも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をダウンロードしてください
※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