À propos d'Android App Bundle
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Un Android App Bundle est un format de publication qui inclut l'ensemble du code et des ressources compilés de votre application, et qui reporte la génération et la signature de l'APK dans Google Play.
Google Play utilise votre app bundle pour générer et distribuer des fichiers APK optimisés pour chaque configuration d'appareil. Ainsi, seuls le code et les ressources nécessaires pour un appareil spécifique sont téléchargés pour exécuter votre application. Vous n'avez plus besoin de créer, de signer ni de gérer plusieurs APK pour assurer la compatibilité avec différents appareils. De leur côté, les utilisateurs bénéficient de téléchargements optimisés de plus petite taille.
La plupart des projets d'application ne nécessitent pas beaucoup d'efforts pour créer des app bundles qui permettent la diffusion d'APK optimisés. Si vous organisez déjà le code et les ressources de votre application selon les conventions établies, créez des Android App Bundles signés à l'aide d'Android Studio ou à l'aide de la ligne de commande, et importez-les dans Google Play, la diffusion optimisée d'APK devient un avantage automatique.
Lorsque vous utilisez le format d'app bundle pour publier votre application, vous pouvez également bénéficier de Play Feature Delivery, qui vous permet d'ajouter des modules de fonctionnalités à votre projet d'application.
Ces modules contiennent des fonctionnalités et des ressources qui ne sont fournies avec votre application qu'en fonction de conditions que vous spécifiez ou qui pourront être téléchargées ultérieurement au moment de l'exécution avec la bibliothèque Play Core.
Les développeurs de jeux qui publient leurs applications avec des app bundles peuvent utiliser Play Asset Delivery, la solution Google Play qui permet de fournir de grandes quantités de ressources de jeu, et offre aux développeurs des modes de distribution flexibles et de hautes performances.
Regardez la vidéo suivante pour découvrir pourquoi il peut être utile de publier votre application au format Android App Bundle.
Restriction liée à la taille de téléchargement compressée
Publier au format Android App Bundle aide les utilisateurs à installer votre application en minimisant le nombre de téléchargements possible et augmente la taille de téléchargement compressée.
Autrement dit, la taille totale des APK compressés nécessaires à l'installation de votre application (par exemple, l'APK de base et les APK de configuration) ne doit pas dépasser 4 Go. Tous les téléchargements ultérieurs, tels que le téléchargement d'un module de fonctionnalité (et de ses APK de configuration) à la demande, doivent également respecter cette restriction de taille de téléchargement compressée. Les packs d'éléments ne sont pas comptabilisés dans cette limite de taille, mais sont soumis à d'autres restrictions de taille.
Si la Play Console détermine que l'un des téléchargements possibles de votre application ou de ses fonctionnalités à la demande dépasse les limites de taille maximales, un message d'erreur s'affiche.
N'oubliez pas que le format Android App Bundle n'accepte pas les fichiers d'extension APK (*.obb
). Dès lors, si vous rencontrez cette erreur lors de la publication de votre app bundle, utilisez l'une des ressources suivantes pour réduire la taille de téléchargement des APK compressés :
- Veillez à activer tous les APK de configuration en définissant
enableSplit = true
pour chaque type de fichier APK de configuration. De cette manière, les utilisateurs ne téléchargeront que le code et les ressources nécessaires pour exécuter votre application sur leur appareil.
- Assurez-vous de minimiser la taille de votre application en supprimant le code et les ressources superflus.
- Appliquez les bonnes pratiques pour réduire davantage la taille de l'application.
- Envisagez de convertir les fonctionnalités qui ne sont utilisées que par certains de vos utilisateurs en modules de fonctionnalités pouvant être téléchargés ultérieurement, à la demande. N'oubliez pas que cela peut nécessiter une refactorisation de votre application. Assurez-vous donc d'essayer d'abord les autres suggestions décrites.
Autres points à prendre en compte
Vous trouverez ci-dessous les problèmes connus rencontrés lors de la création ou de la diffusion de votre application au format Android App Bundle. Si vous rencontrez des problèmes qui ne sont pas encore décrits ici, signalez un bug.
- Les installations partielles d'applications téléchargées indépendamment (applications qui ne sont pas installées avec le Google Play Store et pour lesquelles il manque une partie des APK divisés) échouent sur tous les appareils certifiés Google et sur les appareils équipés d'Android 10 (niveau d'API 29) ou version ultérieure. Lorsque vous téléchargez votre application via le Google Play Store, Google s'assure que tous les composants requis sont installés.
Si vous utilisez des outils qui modifient dynamiquement les tables de ressources, les APK générés à partir des app bundles peuvent se comporter de manière inattendue. Lorsque vous créez un app bundle, il est recommandé
de désactiver ces outils.
Il est possible de définir dans la configuration de compilation d'un module de fonctionnalité des propriétés qui entrent en conflit avec celles des modules de base (ou d'autres). Par exemple, vous pouvez définir buildTypes.release.debuggable =
true
dans le module de base et définir cette propriété sur false
dans un module de fonctionnalité.
De tels conflits peuvent entraîner des problèmes de compilation et d'exécution. Gardez à l'esprit que, par défaut, les modules de fonctionnalités héritent de certaines configurations de compilation du module de base. Assurez-vous donc de bien comprendre quelles configurations vous devez conserver, et lesquelles vous devez omettre dans la configuration de la compilation des modules de fonctionnalités.
Ressources supplémentaires
Pour en savoir plus sur le format Android App Bundle, consultez les ressources suivantes.
Articles de blog
Vidéos
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]