なぜ APK を AAB に変換するのですか?
AAB (Android App Bundle) は Google Play にアップロードするための公開形式であり、Google のサーバーがデバイスごとに最適化された APK を生成します。APK は完成したコンパイル済み出力です。APK から AAB を再構築するには、コンパイル時に破棄されたソースレベルの構造を復元する必要があります。
APK から AAB への変換方法
Android Studio FREE
元のソースプロジェクトがある場合は、「Build > Generate Signed Bundle/APK」から「Android App Bundle」を選択して新しい AAB をビルドしてください。Google Play では 2021 年 8 月以降、新しいアプリに対して AAB が必須となっています。
これらの形式について
品質と注意点
- APK から AAB への変換を謳うサイトは、APK をそのまま再パッケージ化するか、無効なファイルを返すかのどちらかであり、本物の AAB ではありません。
- ソースプロジェクトを紛失した場合、APK から AAB を復元することはできません。最初から再構築する必要があります。
bundletoolは AAB を APK セットに変換するものであり、その逆(APK から AAB)のコマンドは存在しません。
よくある質問
なぜ Google Play は APK ではなく AAB を要求するのですか?
AAB を使用することで、Google は特定のデバイスが必要とするリソースとライブラリのみを含むデバイス専用の APK を構築でき、ダウンロードサイズを削減できるためです。
bundletool で APK を AAB に変換できますか?
いいえ。bundletool は AAB を APK セットに変換するツールであり、APK から AAB への変換コマンドはありません。
ミラーサイトから APK をダウンロードしました。これを AAB として Google Play に再アップロードできますか?
いいえ。Google Play には、開発者のアップロードキーで署名され、Gradle プロジェクトからビルドされた AAB が必要です。再パッケージ化された APK ではこれらの要件を満たすことはできません。