APK vs AAB (Android App Bundles): 知っておくべきことすべて!

安定したAndroid 12 のリリースが近づくにつれて、Google は Android デバイスでのアプリの配信と配布にいくつかの基本的な変更を加えています。2021 年 8 月から、Play ストアのすべての新しいアプリは、既存の APK 形式ではなく、Android アプリ バンドル (.aab) 形式で公開されます。APK と Android App Bundle (AAB) の主な違いは何ですか? APK と同じように AAB をサイドロードできますか? すべての質問に答えるために、APK と AAB に関するこの詳細なガイドを用意しました。それでは、時間を無駄にすることなく、すぐに飛び込みましょう。

APK vs AAB (Android App Bundles): 包括的な比較

ここでは、誰でも簡単に概念を理解できるように、AAB 形式と APK 形式の両方を簡単に説明しました。また、AAB ファイルをインストールする方法、AAB から APK を抽出する方法などについても詳しく説明しました。下の表を展開して、関連するセクションにすばやく移動できます。

目次

APK vs AAB: 基本を理解する

まず、APK と Android App Bundle の違いを正しく理解するために、いくつかの基本を理解する必要があります。

APK は、当初から Android で人気の配布アプリ パッケージでした。APK は主に、アプリ コード、画像や音声などの重いリソース、および開発者によって生成されたアプリ署名キーで構成されます。Android デバイスにはさまざまなフォーム ファクタと仕様があることに注意してください。たとえば、デバイスの画面密度(320dpi、480dpi など)、プロセッサの種類 (ARM、ARM64、x86) などはさまざまです。また、ユーザーの地域に基づいて、アプリには言語パック (en、fr、ger など) が必要です。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

理想的な状況では、開発者は、ユーザーの地域、プロセッサの種類、画面密度に基づいて Play ストアに複数の APK をビルドしてアップロードする必要があります。ユーザーが Play ストアの [インストール] ボタンをタップすると、適切で最適な APK がデバイスにインストールされます。ただし、これらすべては、開発者の手に膨大なタスクをもたらします。アプリを開発するだけでなく、大量のデバイスをサポートするために複数の APK を管理する必要があります。

この複雑で時間のかかる作業を避けるために、ほとんどの開発者はすべてのリソース (言語パック、コードなど) が付属するユニバーサル APKを構築しますが、その特定のデバイスではそのほとんどが必要ない場合もあります。これにより、アプリのサイズが大きくなり、インストールに時間がかかり、より多くの帯域幅を消費する、かさばる APK が作成されます。

Google はこの問題を解決し、Android アプリ バンドル (AAB) を使用する開発者のこの負担のほとんどを負担したいと考えています。これにより、アプリのサイズ、インストール時間、帯域幅の消費を減らすことができます. 同社は Google I/O 2018 で AAB を紹介し、2 年近く経った現在、Google は Play ストアで新しいアプリを AAB 形式で提出する必要があることを義務付けています。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

APK と比較すると、AAB 形式は完全に新しい配布パッケージではありません。実際、AAB はベース APK と複数の分割 APK をホストするコンテナです。基本的に、AAB は開発者が Play ストアに送信する公開形式であり、APK はデバイスにインストールする Android アプリのパッケージ形式です。

では、ここで実際に何が変わるのでしょうか?2021 年 8 月以降、開発者はさまざまなデバイス用の大量の APK を処理および管理する必要がなくなります。AAB を使用すると、デベロッパーはアプリ コード、アセット、大量のリソース、すべての言語パック、そして最も重要なアプリ署名の秘密鍵など、すべてを Google に引き渡します。現在、Google はデバイスの設定に基づいて最適化された APK を生成し、ユーザーに提供できます。はるかに小さい AAB バンドルを作成できます。これは、サイズがコンパクトで、すぐにインストールでき、ローエンド デバイスのデータ消費量が少ないものです。これが AAB と APK の主な命題ですが、さらに詳しく説明する必要があります。

Google との秘密署名鍵の共有

AAB がもたらすものを見ると、APK の優れた代替手段のように思えます。AAB 形式はアプリのサイズを小さくし、開発者は複数の APK を作成する必要がありません。ただし、多くの開発者は、Google との秘密署名キーの共有について懸念を表明しています。

前述したように、署名キーは APK の整合性を検証するための最も重要な情報です。サードパーティのソースから APK をサイドロードした場合でも、Google Play ストアは署名キーをチェックして、改ざんされていないことを確認します。

AAB では、Google がアプリ バンドルを生成し、同じ秘密鍵で AAB に署名できるように、開発者が秘密署名鍵を共有する必要があることを Google は義務付けています。ユーザーがアプリをインストールするか、新しいバージョンに更新すると、Play Services は署名キーを照合し、キーの不一致や署名の失敗の問題なしにインストールが行われます。そうは言っても、開発者は、コード インジェクションの扉を開く可能性があると述べています。Google によると、すべての「署名キーは、Google が独自のキーを保存するために使用するのと同じインフラストラクチャに保存されます。」 安心してください。すべての秘密署名キーは、鉄壁のセキュリティで保護されています。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

出典: グーグル

さらに、開発者の懸念を和らげるために、Google はCode Transparencyを発表しました。これにより、開発者だけがアクセスできる別の秘密鍵を生成できるようになります。開発者は、別個の秘密鍵から、アプリの整合性を検証するために使用できる追加の署名を作成できます。ただし、この方法には制限があります。コードの透明性はコードのみを扱い、アセット、リソース、またはマニフェストは扱いません。また、これはオプションの機能であり、多くの開発者をループから除外する可能性があります.

AAB は、サードパーティの App Store をさらに難しくするのでしょうか?

秘密鍵を Google と共有することで生じるもう 1 つの問題は、サードパーティのアプリ ストアにとって事態が悪化する可能性があることです。たとえば、Play ストアからアプリをインストールしたが、別のPlay ストアの代替(Amazon App Store や Aptoide Store など)から最新バージョンに更新したい場合、署名の不一致が原因でインストールが失敗する可能性があります。

これは、現在 Google が秘密署名キーを管理しているためです。そのため、アプリをサードパーティの Android アプリ ストアにアップロードする際に同じキーを使用することはできません。別の秘密鍵を使用する必要があり、それにより秘密鍵の不一致エラーが発生します。これは、 Windows 11 での Android アプリのサポートにとって問題になりますか? 待って調べなければなりません。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

Android アプリが Microsoft Store に登場

それ以外では、AAB が開発者がサードパーティのアプリ ストアに APK をアップロードするのを妨げるという推測は正しくないようです。Google は、開発者が AAB バンドルから APK を作成できるようにするbundletoolというオープンソース ツールを既に作成しています。現時点で唯一の問題は、秘密署名キーの共有が Android のパワー ユーザーに影響することです。

APK のように AAB をサイドロードできますか?

私たちの知る限りでは、Android デバイスで AAB をサイドローディングできるようですが、APK をサイドローディングするほど便利ではありません。Android のパッケージ インストーラーは現在、AAB パッケージ形式をサポートしていません。つまり、デバイスへの AAB のインストールをネイティブに行うことはできません。ただし、サードパーティのインストーラー アプリを使用して、AAB パッケージをデバイスにインストールできます。

たとえば、現在、APKMirror インストーラー (無料、アプリ内購入を提供) では、インストーラー アプリを使用して APKM バンドル (ベース APK + 分割 APK) をインストールできます。携帯電話に Android アプリ バンドルをインストールする方法については、既に詳細なガイドが用意されていますので、リンク先の記事をご覧ください。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

それとは別に、 AAB をインストールする方法をadb サイドロードすることはできません。デバイスと互換性のある正しい APK を取得するには、オープンソースのbundletoolを使用する必要があります。AAB がより主流になるにつれて、サイドローディングの新しい便利な方法が登場する可能性があります。ベース APK をサイドロードするだけで、デバイスがクラッシュすることに注意してください。

APK 対 AAB: 長所と短所

すべてのポイントを確認した後、AAB はほとんどのユーザーのユーザー エクスペリエンスに大きな違いをもたらさないことがわかります。はい、アプリのサイズが縮小されます。これは、ほとんどのユーザーにとって役立ちます。たとえば、Airbnb は APK から AAB に切り替えた後、アプリのサイズを 22% 縮小しましたが、Netflix はアプリのサイズを 57% 縮小しました。これは、アプリのサイズにかなりの違いがあります。それとは別に、放棄された Instant App 機能は、Android デバイスで AAB を使用して新しいリースを取得します。

ただし、AAB をサイドローディングしたいパワー ユーザーにとっては、少し面倒で不便です。bundletool を使用してデバイスの APK を抽出するか、サードパーティのインストーラーを使用する必要がある場合があります。注意すべきことの 1 つは、AAB がOBB (不透明なバイナリ BLOB) から離れて、大きなアセットとリソースをダウンロードすることです。代わりに、Play Asset Delivery または Play Feature Delivery を使用して、ダウンロード サイズが 150 MB 以上の重いリソースをダウンロードします。Battlegrounds Mobile India、PUBG Mobile、FAU-Gなどのサイドローディング ゲームにどのように影響するかを確認する必要があります。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

この変更の影響を最も受けている開発者は、コードをリファクタリングする必要がありません。これは素晴らしいことです。AAB はモジュール性ももたらします。つまり、コード スニペットを変更して、多くのマージ競合に直面することなくコア ベースとマージできます。AAB の大きな利点の 1 つは、開発者にカスタマイズ オプションを提供することです。対象とする API レベルまたはサポートするデバイス タイプを選択できます。開発者は、最小 SDK バージョンで実行されている特定のデバイス タイプまたはスマートフォンで提供するすべての機能を決定することもできます。

欠点については、問題の核心は秘密鍵を共有することであり、これは現在 Google によって管理されています。サードパーティのアプリ ストアとの非互換性も大きな問題となる可能性があり、開発者は他のアプリ ストアで APK を公開して管理するために (現在の Play ストアと同様に) さらなる努力をしなければなりません。

APK 対 AAB (Android アプリ バンドル): どう思いますか?

私にとって、この変更の最大の問題は、Google への過度の依存です。この変更により、Mountain View の巨人は、Play ストアが Android デバイスの事実上のアプリ ストアであり続けることを確実にしています。アプリのホスティングから秘密鍵の管理まで、Google は現在、Android でのアプリの公開と配布のすべての側面を管理しています。複数の APK を管理する必要がなくなるため、開発者は新しい変更に満足するかもしれませんが、長期的にはユーザーにとってどのような結果になるでしょうか? まだわかりません。開発者が Google にコントロールを渡すことで、良い変化がもたらされるでしょうか? 様子を見る必要があります。とにかく、それは私たちからのすべてです。しかし、以下のコメント セクションで、この APK 対 AAB の議論についてどう思うか教えてください。


Windows ラップトップを Raspberry Pi のモニターとして使用する方法

Windows ラップトップを Raspberry Pi のモニターとして使用する方法

Windows 10 ラップトップを Raspberry Pi のモニターとして使用する場合は、ガイドに従って、Raspberry Pi をラップトップ ディスプレイに簡単に接続します。

知っておくべき 30 の最高の Raspberry Pi コマンド

知っておくべき 30 の最高の Raspberry Pi コマンド

2021 年に知っておくべき最高で最も便利な Raspberry Pi コマンドを次に示します。RPi をリモートで管理し、多くのことをカスタマイズできます。

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

APK vs AAB (Android App Bundles): 知っておくべきことすべて!

APK と AAB (Android App Bundles) の比較を行い、それらの違い、AAB の利点、AAB ファイルのインストール方法などを学びます。

メタバースとは何ですか? 気にする必要がありますか?

メタバースとは何ですか? 気にする必要がありますか?

メタバースが何を意味し、どのように探索するのか疑問に思っていますか? メタバースとは何か、メタバースへのアクセス方法、長所と短所について説明します。

720p vs 1080p vs 4K vs 8K: ディスプレイ解像度の説明

720p vs 1080p vs 4K vs 8K: ディスプレイ解像度の説明

この記事では、720p と 1080p と 4K と 8K のディスプレイ解像度を比較し、それぞれの違いについて説明します。

マザーボードの VRM とは何ですか? なぜ重要なのですか?

マザーボードの VRM とは何ですか? なぜ重要なのですか?

VRM は Voltage Regulator Module の略で、CPU や GPU の電圧を変換するマザーボード内の電子回路です。

使用すべき 25 の最高のソーシャル メディア アプリとサイト

使用すべき 25 の最高のソーシャル メディア アプリとサイト

2022 年以降のトップ ソーシャル メディア アプリやサイトをお探しですか? ぜひチェックすべき最高のソーシャル メディア アプリのリストをご覧ください。

iOS 15 でのフォーカス モードとその使用方法

iOS 15 でのフォーカス モードとその使用方法

この詳細なガイドでは、フォーカス モードとは何か、iPhone および iPad の iOS 15 でフォーカス モードを使用する方法について説明しました。フォーカスを始めましょう!

iCloud+ とは何ですか? iCloud との違いは何ですか?

iCloud+ とは何ですか? iCloud との違いは何ですか?

Apple は WWDC 2021 で iCloud+ を発表しました。iCloud Plus の機能、価格、入手可能性などについて知っておくべきことはすべてここにあります。

マザーボードの種類: マザーボードのサイズの説明

マザーボードの種類: マザーボードのサイズの説明

大多数のマザーボードは、ATX、Micro-ATX、および Mini-ITX の 3 つのサイズのいずれかで提供されます。ここでは、マザーボードの種類について説明し、比較します。

Windows 11: 最も一般的な FAQ と回答!

Windows 11: 最も一般的な FAQ と回答!

Windows 11 に関して多くの質問がありますか? さて、Windows 11 の最も一般的な FAQ と回答ガイドに従って、すべての疑問を解決してください。

iPhone と iPad 向けの 20 の最高の iMessage ゲーム

iPhone と iPad 向けの 20 の最高の iMessage ゲーム

楽しい iMessage ゲームをお探しですか? 2022年にiOS 15を実行しているiPhoneおよびiPadでプレイできる20の最高のiMessageゲーム(無料および有料)を次に示します.

5G 放射線の影響: 5G は健康に悪いですか?

5G 放射線の影響: 5G は健康に悪いですか?

この記事では、5G 放射が人間や鳥の健康に悪影響を与えるかどうか、および 5G がコロナウイルスの拡散に役立つかどうかについて説明します。

Windows PE (WinPE) とは何ですか? どのように機能しますか?

Windows PE (WinPE) とは何ですか? どのように機能しますか?

この記事では、Windows PE (WinPE) とその使用目的、および通常の Windows との違いについて説明します。

InstagramでShadowbanされないようにするための6つのヒント

InstagramでShadowbanされないようにするための6つのヒント

最近、Instagram でのエンゲージメントが低下しましたか? Instagram のシャドーバンのステータスを確認する方法と、シャドーバンされないようにするためのヒントを学びましょう。