Androidアプリバンドル(.aab)

新しいアプリ公開フォーマットが3.2バージョンで利用可能で、Google Playの動的配信システムを使用してカスタマイズされたapkをユーザーにデプロイします。Studioはプレイストアにアップロードされる.aabファイルを生成し、チップアーキテクチャ、画面に基づいてさまざまなバージョンのアプリを作成します。サイズとロケール。さまざまなデバイス用にカスタマイズされた新しいapkのダウンロードサイズは小さくなります(アプリの分割とgradleの構成変更を使用してこれらの処理を実行できますが、PlayコンソールとStudioがこれらのタスクを自動的に実行します)。

アプリバンドル

AppBundleは、デバイスに直接インストールできない公開形式です。また、最終的なapkには存在しないメタデータファイルも含まれています。
また、オンデマンドインストールを使用して、特定のデバイスのアプリに動的機能を含めることもできます。

Androidアプリバンドルは、Androidアプリ開発で2つの機能を有効にします。

  • 動的配信システム
  • モジュラーアプリの開発

これらの機能について説明する前に、まず.aabzipアーカイブの内容について説明します。

.aab-の中身

.aabアーカイブファイルの構造はapkファイルに似ています.apkにAndroidManifest.xmlファイルがあるマニフェストフォルダーがバイナリ形式ですが、.aabでは変換できるためプロトコルバッファー形式にコンパイルされた実際のXMLファイルです簡単に。Dexファイルはdexという名前のディレクトリの下にあります。res、assets、native libsのディレクトリ構造はapkと同じですが、XMLリソースはバイナリ形式ではなくプロトコルバッファにコンパイルされます。

.aabファイル構造

resources.pb(プロトコルバッファ形式)は、apkのresources.aracに相当するリソーステーブルファイルです。Assets.pbとnative.pbは、アセットとネイティブライブラリのリソーステーブルに相当します。
リソーステーブル、アセットテーブル、ネイティブライブラリテーブルは、アプリのファイルのターゲティングを記述します。ファイルターゲティングは、特定のファイルがターゲティングされるデバイスまたはユーザーのタイプの説明です。Playコンソールはこれらのテーブルを使用して複数のカスタマイズされたapkを作成します。

アセットターゲティング-アプリバンドルではアセットターゲティングも可能ですが、現在は言語ターゲティングのみがサポートされています。openGLのテクスチャ圧縮とグラフィックApiバージョンも将来追加される予定です。
例-下の写真のアセットターゲティングの使用方法。

アセットターゲティングの使用方法

ダイナミックデリバリーシステム-

Dynamic Deliveryの基本的なコンポーネントは、Android 5.0(APIレベル21)以降で利用可能な分割APKメカニズムです。分割APKは通常のAPKと非常によく似ており、コンパイルされたDEXバイトコード、リソース、Androidマニフェストが含まれています。ただし、Androidプラットフォームでは、インストールされている複数の分割APKを単一のアプリとして扱うことができます。分割APKを使用すると、Google Playは、大きなアプリを、必要に応じてユーザーのデバイスにインストールされる小さな個別のパッケージに分割できます。

以下では、3種類の分割APKについて説明します。下の図1は、単純なアプリとより複雑なアプリのこれらのAPKの関係を示しています。

  • ベースAPK:このAPKには、他のすべての分割APKがアクセスできるコードとリソースが含まれており、アプリの基本機能を提供します。これは、ユーザーがアプリをダウンロードしたときにインストールされる最初のAPKです。
スプリットAPK
構成APK:これらの各APKには、特定の画面密度、CPUアーキテクチャ、または言語用のネイティブライブラリとリソースが含まれています。そうすれば、デバイスが基本機能または動的機能のAPKをダウンロードするときに、必要なライブラリとリソースのみをダウンロードします。ほとんどのアプリプロジェクトでは、構成APKをサポートするためにアプリをリファクタリングする必要はありません。GooglePlayは、アプリバンドルに含まれているコードとリソースからAPKを生成します。 動的機能APK:これらの各APKには、アプリの最初のインストール時には不要なコードとリソースが含まれていますが、後でダウンロードしてインストールすることができます。
アプリバンドルによるサイズの節約

複数の言語をサポートし、ネイティブライブラリを備えたアプリは、これを最大限に活用できます。
注:すべてのアプリがアプリバンドルに切り替わる場合、アプリのダウンロードとアップグレードから1日あたり10PBのデータを保存します。


アプリバンドルのビルド方法-AndroidStudio 3.2のビルドメニュータブ内でアプリバンドルを作成するには、追加のビルドバンドルメニュー項目を使用できます。バンドルファイルを構成できます。

アプリバンドル構成

これがAndroidアプリバンドルを使用した動的配信のすべてです。AndroidStudio3.2を待ち、ユーザーデータ(デバイスデータとネットワークデータの両方)を保存しましょう。

ハッピーコーディング!!!
Androidの開発に関する次の記事をチェックしてください。

Androidランタイムの改善Androidの バッテリー寿命の最適化-

提案された投稿

マルチモジュール プロジェクトで Dagger2 から Hilt に移行する

マルチモジュール プロジェクトで Dagger2 から Hilt に移行する

マルチモジュール プロジェクトで Dagger から Hilt に移行するためのステップバイステップ ガイド。プロジェクトの構造 プロジェクトを視覚化するには、NetworkModule、StorageModule、CommonModule、FeatureModule などの複数のモジュールが含まれています。

アンドロイド | Gboard がタブレット用の新しいレイアウトで更新されました

Google は、Pixel Fold と Pixel Tab の発売に合わせてキーボードのレイアウトを更新しました。

アンドロイド | Gboard がタブレット用の新しいレイアウトで更新されました

Google は最近、Android 用の Gboard キーボード アプリを更新し、タブレット向けに最適化された新しいレイアウトを追加しました。今朝、入力しにくいことに気づき、よく調べてみると、キーボードが交換されていることがわかりました。

関連記事

メディアを再考する: マクチェズニーの 5 つの真実とコミュニケーションの未来

今日の非常につながりの深い世界では、メディア システムは世論の形成、ひいては民主的な意思決定において極めて重要な役割を果たしています。学者のロバート・マクチェズニーは、コミュニケーションの政治経済についての深い分析の中で、従来の通念に疑問を呈し、メディアに関する彼の言うところの「5つの真実」を提示します。

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

はじめに:勇敢な読者の皆さん、地球の最も暗い深みへ私たちを導く旅へようこそ。このブログでは、マリアナ海溝の謎に満ちた世界を掘り下げ、その隠された秘密を明らかにし、その表面の下にある骨も凍るような真実を明らかにします。

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

今日のペースが速く競争の激しい世界では、個人の成長、経済的安定、そして人生全体の満足度において、個人のキャリアが重要な役割を果たしています。しかし、多くの人は停滞と不満の絶え間ないサイクルに陥っており、職業生活が徐々に消耗していきます。

職場革命: 一流の専門家がハイブリッド ワークとリモート ワークについて語る

職場革命: 一流の専門家がハイブリッド ワークとリモート ワークについて語る

今日の急速に進化するビジネス環境において、ハイブリッドおよびリモートワークの概念は前例のない勢いを増しています。企業が従業員のニーズや期待の変化に適応し続ける中、さまざまな分野の専門家が集まり、この変革的な働き方のメリット、課題、将来について議論しています。