Android App Bundle について
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android App Bundle は、アプリのコンパイル済みコードとリソースがすべて含まれた公開形式です。APK の生成と署名は Google Play が行います。
Google Play は App Bundle から、デバイス設定ごとに最適化した APK を生成、配信します。それによって、個々のデバイスでアプリを実行するのに必要なコードとリソースだけがダウンロードされます。デベロッパー側では、多様なデバイスのサポートを最適化するために複数の APK をビルド、署名、管理する必要がなくなり、ユーザー側では、よりサイズが小さく、最適化された APK をダウンロードできるようになります。
最適化された APK の配信をサポートする App Bundle をビルドすることは、ほとんどのアプリ プロジェクトでそれほど難しくありません。すでに確立された規則に従ってアプリのコードとリソースを整理している場合は、Android Studio またはコマンドラインを使用して署名付き Android App Bundle を作成し、Google Play にアップロードすると、APK 配信の最適化が自動的なメリットになります。
App Bundle 形式を使用してアプリを公開する場合は、アプリ プロジェクトに機能モジュールを追加できる Play Feature Delivery を利用することもできます。これらのモジュールは、指定した条件に基づいてアプリにのみ含まれている、または後からランタイムで Play Core Library の使用をダウンロードする際に利用できる機能とリソースを備えています。
App Bundle を使用してアプリを公開するゲーム デベロッパーは、Play Asset Delivery を使用できます。Play Asset Delivery は、大量のゲームアセットを配信するための Google Play のソリューションであり、柔軟な配信方法と高いパフォーマンスをデベロッパーに提供します。
Android App Bundle を使用したアプリの公開が推奨される理由について、次の動画をご覧ください。
圧縮ダウンロード サイズの制限
Android App Bundle を使用して公開すると、最小ダウンロード サイズでアプリをインストールできるようになり、圧縮ダウンロード サイズも増加します。つまり、ユーザーがアプリをダウンロードする場合、アプリのインストールに必要な圧縮 APK の合計サイズ(ベース APK と設定 APK など)を 4 GB 以下にする必要があります。オンデマンドでの機能モジュール(およびその構成 APK)のダウンロードなど、後続のダウンロードも、この圧縮ダウンロード サイズの制限に従う必要があります。Asset Pack はこのサイズ制限に含まれませんが、他のサイズ制限があります。
Google Play Console で、アプリやそのオンデマンド機能のダウンロードのいずれかが最大サイズの上限を超えていることが検出された場合は、エラーが発生します。
なお、Android App Bundle は APK 拡張(*.obb
)ファイルに対応していません。そのため、App Bundle の公開時にこのエラーが発生した場合は、以下のリソースのいずれかを使用して、圧縮 APK ダウンロード サイズを削減してください。
- 設定 APK のタイプごとに
enableSplit = true
を設定して、すべての設定 APK を有効にする。これにより、ユーザーがデバイスでアプリを実行するために必要なコードとリソースだけがダウンロードされるようになります。
- 未使用のコードやリソースを削除してアプリを縮小します。
- おすすめの方法に従ってアプリのサイズを削減します。
- 一部のユーザーのみが使用する機能を機能モジュールに変換して、アプリが後でオンデマンドでダウンロードできるようにすることを検討します。アプリのリファクタリングが必要になる場合があることに留意してください。最初に、説明されている他の推奨事項を試してください。
その他の考慮事項
Android App Bundle を使用してアプリをビルドまたは配信する際の既知の問題は次のとおりです。ここに記載されていない問題が発生した場合は、バグを報告してください。
- サイドローディングされたアプリ(Google Play ストアを使用せずにインストールされ、必要な分割 APK が欠けているアプリ)の部分的なインストールは、Google 認定デバイスと Android 10(API レベル 29)以上を搭載したデバイスのすべてで失敗します。Google Play ストアからアプリをダウンロードする場合は、アプリに必要なすべてのコンポーネントを Google が確実にインストールします。
リソース テーブルを動的に変更するツールを使用すると、App Bundle から生成された APK が予期しない動作をする場合があります。そのため、App Bundle をビルドする場合は、こうしたツールを無効にすることをおすすめします。
機能モジュールのビルド構成で、ベース(または他の)モジュールのプロパティと競合するプロパティを構成する可能性があります。たとえば、ベース モジュールで buildTypes.release.debuggable =
true
を設定し、機能モジュールでは false
に設定できます。このように競合すると、ビルドとランタイムの問題が発生します。デフォルトでは、機能モジュールはベース モジュールから一部のビルド構成を継承します。したがって、機能モジュールのビルド構成で、保持する必要がある構成と省略する必要がある構成を把握しておいてください。
参考情報
Android App Bundle の詳細については、次のリソースをご覧ください。
ブログ投稿
動画
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# About Android App Bundles\n\n| **Important:** From August 2021, new apps are required to publish with the [Android App Bundle](/guide/app-bundle) on Google Play. New apps larger than 200 MB are now supported by either [Play Feature Delivery](/guide/app-bundle/dynamic-delivery) or [Play Asset Delivery](/guide/app-bundle/asset-delivery). From June 2023, new and existing [TV apps are required to\n| be published as App Bundles](/docs/quality-guidelines/tv-app-quality#SC-E1).\n\nAn *Android App Bundle* is a publishing format that includes all your app's\ncompiled code and resources, and defers APK generation and signing to Google\nPlay.\n\nGoogle Play uses your app bundle to generate and serve optimized APKs for each\ndevice configuration, so only the code and resources that are needed for a\nspecific device are downloaded to run your app. You no longer have to build,\nsign, and manage multiple APKs to optimize support for different devices, and\nusers get smaller, more-optimized downloads.\n\nMost app projects won't require much effort to build app bundles that support\nserving optimized APKs. If you already [organize your app's code and\nresources](/guide/topics/resources/providing-resources#AlternativeResources)\naccording to established conventions, [build signed Android App\nBundles](/studio/publish/app-signing#sign-apk) using Android Studio or by [using\nthe command line](/studio/build/building-cmdline), and [upload them to Google\nPlay](/studio/publish/upload-bundle), then optimized APK serving becomes an\nautomatic benefit.\n\nWhen you use the app bundle format to publish your app, you can also optionally\ntake advantage of [Play Feature Delivery](/guide/playcore/feature-delivery),\nwhich lets you add *feature modules* to your app project.\nThese modules contain features and resources that are only included with your\napp based on conditions that you specify, or are available later at runtime for\ndownload [Using the Play Core Library](/guide/playcore).\n\nGame developers who publish their apps with app bundles can use\n[Play Asset Delivery](/guide/playcore/asset-delivery): Google Play's solution\nfor delivering large amounts of game assets that offers developers flexible\ndelivery methods and high performance.\n\nWatch the following video for an overview of why you should publish your app\nusing Android App Bundles. \n\nCompressed download size restriction\n------------------------------------\n\nPublishing with Android App Bundles helps your users to install your app with\nthe smallest downloads possible and increases the **compressed download size** .\nThat is, when a user downloads your app, the total size of\nthe compressed APKs required to install your app (for example, the base APK +\nconfiguration APKs) must be no more than 4 GB. Any subsequent downloads,\nsuch as downloading a feature module (and its configuration APKs) on demand,\nmust also meet this compressed download size restriction. Asset packs don't\ncontribute to this size limit, but they do have other [size restrictions](/guide/app-bundle/asset-delivery#size-limits).\n\nIf the Play Console finds any of the possible downloads of your app or its on\ndemand features to be more than the [maximum size limits](https://support.google.com/googleplay/android-developer/answer/9859372#size_limits), you will get an error.\n\nKeep in mind, **Android App Bundles do not support APK expansion (`*.obb`)\nfiles**. So, if you encounter this error when publishing your app bundle, use\none of the following resources to reduce compressed APK download sizes:\n\n- Make sure you [enable all configuration APKs](/studio/projects/dynamic-delivery#disable_config_apks) by setting `enableSplit = true` for each type of configuration APK. This makes sure that users download only the code and resources they need to run your app on their device.\n- Make sure you [shrink your app](/studio/build/shrink-code) by removing unused code and resources.\n- Follow best practices to further [reduce app size](/topic/performance/reduce-apk-size).\n- Consider converting features that are used by only some of your users into [feature modules](/studio/projects/dynamic-delivery#dynamic_feature_modules) that your app can download later, on demand. Keep in mind, this may require some refactoring of your app, so make sure to first try the other suggestions described.\n\nOther considerations\n--------------------\n\nThe following are known issues when building or serving your app\nwith Android App Bundles. If you experience issues that are\nnot already described here, [report a bug](https://issuetracker.google.com/issues/new?component=398856&template=1084213).\n\n- Partial installs of sideloaded apps---that is, apps that are not installed using the Google Play Store and are missing one or more required split APKs---fail on all Google-certified devices and devices running Android 10 (API level 29) or higher. When downloading your app through the Google Play Store, Google ensures that all required components of the app are installed.\n- If you use tools that dynamically modify resource tables, APKs generated\n from app bundles might behave unexpectedly. So, when building an app bundle,\n it is recommended that you disable such tools.\n\n- It is possible to configure properties in a feature\n module's build configuration that conflict with those from the base (or\n other) modules. For example, you can set `buildTypes.release.debuggable =\n true` in the base module and set it to `false` in a feature module.\n Such conflicts might cause build and runtime issues. Keep in mind, by default,\n feature modules inherit some build configurations from the base\n module. So, make sure you understand which configurations you should keep,\n and which ones you should omit, in your [feature module build\n configuration](/guide/app-bundle/configure#feature_build_config).\n\nAdditional resources\n--------------------\n\nTo learn more about Android App Bundles, consult the following resources.\n\n### Blog posts\n\n- [Building your first App Bundle](https://medium.com/androiddevelopers/building-your-first-app-bundle-bbcd228bf631)\n- [What a new publishing format means for the future of Android](https://medium.com/googleplaydev/what-a-new-publishing-format-means-for-the-future-of-android-2e34981793a)\n- [New features to help you develop, release, and grow your business on Google Play](https://android-developers.googleblog.com/2019/05/whats-new-in-play.html)\n- [The latest Android App Bundle updates including the additional languages API](https://android-developers.googleblog.com/2019/03/the-latest-android-app-bundle-updates.html)\n- [Patchwork Plaid --- A modularization story](https://medium.com/androiddevelopers/a-patchwork-plaid-monolith-to-modularized-app-60235d9f212e)\n- [Google Santa Tracker --- Moving to an Android App Bundle](https://medium.com/androiddevelopers/google-santa-tracker-moving-to-an-android-app-bundle-dde180716096)\n- [Developer tools on Play Console](https://medium.com/androiddevelopers/developer-tools-on-play-store-85fb710ee33b)\n\n### Videos\n\n- [Everything to know about Play App Signing](https://www.youtube.com/watch?v=odv_1fxt9BI)\n- [Building your first App Bundle](https://www.youtube.com/watch?v=IPLhLu0kvYw)\n- [App Bundles: Testing with Bundletool and the Play Console](https://www.youtube.com/watch?v=vAEAZPU7w-I)\n- [Customizable Delivery with the App Bundle and Easy Sharing of Test Builds](https://www.youtube.com/watch?v=flhib2krW7U)\n- [New Tools to Optimize Your App's Size and Boost Installs on Google Play](https://www.youtube.com/watch?v=rEuwVWpYBOY)"]]