2021年8月以降、Google Playでは、すべてのアプリに対して、APKよりも高い効率が提供可能であるとGoogleの言う、Android App Bundles(AAB)としての提出が求められるようになる。
App Bundlesは、アプリのコードとリソースをまとめた署名付きバイナリです [...] 各モジュールのコードとリソースは、APKの場合と同じようにまとめられます — これらのモジュールは分離したAPKとして生成される可能性があるので、これは理に適った方法なのです。Google PlayはこのApp Bundleを使って、ユーザに提供するさまざまなAPKを生成します。base APK、feature APK、configuration APK、さらに(分割APKをサポートしないデバイス用に)multi-APKなどのAPKが生成されます。
注目すべきなのは、AABが使用されるのは開発者がアプリをストアへ提出する時のみであることだ。ユーザデバイスへのアプリ配信に使用するフォーマットとしては、APKが今後も存続する。ただし、受け取るAPKは、カスタマイズされて最適化されたものになる。
Googleによると、AABにはAPKにはない多くの利点がある。まず、AABで可能になる最適化によって、ユーザに提供されるアプリが15パーセント小さくなる。さらにAABは、Play feature deliveryを使って効果的に配信する機能のカスタマイズ手段を提供すると同時に、Play asset deliveryによる大規模アセットの動的配信をサポートする。
Play feature deliveryは、アプリがインストールされる時に配信するinstall-time、必要な時点での機能要求を可能にするon-demand、最低OSバージョンやデバイスの機能などのインストール要件を指定可能にするconditional、インストールせずにアプリをプレビューできるinstant deliveryという、4つの配信モードを提供する。
Play asset deliveryは、install-time、on-demand、fast-followという3つの配信モードをサポートする。fast-followモードは、ユーザによるアプリのローンチを待たずに、アプリのインストール後、アセットパックを自動的にダウンロードするものだ。
その他のメリットとして、AABではGoogleのセキュアキー管理サービスがサポートされており、認証情報の紛失や侵害を防止することができる。これを使用するには、ユーザに提供するAPKに署名するため、開発者の署名情報をGooleが使用できるようにしておく必要がある。
Android StudioやGradle、Bazel、Buckなど多数のビルドツールがAABをサポートしていることから、新たなフォーマットの採用は、開発者に対してはほぼ透過的なものになると思われる。
Android App Bundleは2018年に、アプリ公開メカニズムとしてPlay Storeに導入された。以来、およそ500万あるアプリのうち、100万以上がこのフォーマットを採用している。これ自体は非常に大きな数値とは言えないが、Gooleによると、トップ1,000のアプリとゲームの大部分にこのフォーマットが使用されているということだ。