とある案件でアプリリリースを行いました。
リリース手順書に「aab形式でアーカイブする」と記載されていました。
無事リリースはしたものの、一体「aab」とは何だろう。。。
ずっと疑問に思っていたので、今回調べてみたことをまとめました。
apk(Android application PacKage)とは
aabに入る前に、apkについておさらいしてみます。
apkとは、簡単にいうと「圧縮ファイル」です。
Android端末にインストールするために圧縮したファイルのことですね。
逆に、apkでなければインストールできません。
ですので、GooglePlayストアのアプリは、apkがズラーっと公開されているイメージです。
aab(Android App Bundle)とは
それでは次に、aabについてみていきましょう。
「aab Android」なんてキーワードで検索したらすぐ分かる時代です。
便利な世の中ですね。
Androidデベロッパードキュメントに、以下のように記載されています。
Android App Bundle は、アプリのコンパイル済みコードとリソースをすべて含む新しいアップロード形式です。ただし、APK の生成と署名は Google Play で行います。
これだけではちょっとよく分からないですね。
もう少し読み進めてみましょう。
Google Play は App Bundle を使用して、基本 APK、動的機能 APK、設定 APK、(分割 APK をサポートしないデバイスの場合)マルチ APK など、ユーザーに提供するさまざまな APK を生成します。
「Google PlayがAPKを生成する」などという物凄いことをさらっと書いてますね。
なぜaab(Android App Bundle)を使うのか
①様々な端末に適したapkを配布するため
昨今では、多種多様なAndroid端末が販売されています。
これまでは開発者が多くの端末にサポートするため、複数のapkを生成して配布していましたが、それをGoogleが肩代わりし、開発者側の管理の手間が減ります。
②容量が少ない
apkに比べ、aabの方が容量が少ない点です。
単純に、容量が少ない方がアップロード時間の短縮が図れます。
まとめ
ざっくりと調べてみた所感として、とても良いと思いました。
未だapkを使ってリリースしている案件がありますので、ご提案できるようもう少し深掘りして調べてみたいと思います。