Sobre os Android App Bundles
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um Android App Bundle é um formato de publicação que inclui todo o
código e recursos compilados do app e adia a geração e a assinatura do APK para o Google
Play.
O Google Play usa o pacote de apps para gerar e disponibilizar APKs otimizados para cada
configuração de dispositivo. Assim, somente o código e os recursos necessários para um
dispositivo específico são salvos para executar o app. Não é mais necessário criar,
assinar e gerenciar vários APKs para otimizar a compatibilidade com dispositivos diferentes, e
os usuários recebem downloads menores e mais otimizados.
A maioria dos projetos de app não exige muito esforço para criar pacotes de apps com suporte
para a veiculação de APKs otimizados. Se você já organiza o código e os
recursos do seu app
de acordo com as convenções estabelecidas, crie Android App
Bundles assinados usando o Android Studio ou a linha de comando e faça upload deles para o Google
Play. A veiculação otimizada do APK se tornará um
benefício automático.
Ao usar o formato de pacote de apps para publicar seu app, também é possível
aproveitar o Play Feature Delivery,
que permite adicionar módulos de recursos ao projeto do app.
Esses módulos contêm funções e recursos que somente são incluídos no seu app
com base nas condições que você especifica, ou que estão disponíveis posteriormente
para download usando a Biblioteca Play Core no ambiente de execução.
Os desenvolvedores de jogos que publicam apps com pacotes podem usar o
Play Asset Delivery, a solução do Google Play
para fornecer grandes quantidades de recursos de jogos que oferece aos desenvolvedores métodos de entrega
flexíveis e alto desempenho.
Assista o vídeo a seguir e veja motivos para publicar seu app
usando os Android App Bundles.
Restrição de tamanho de download compactado
A publicação com Android App Bundles ajuda os usuários a instalar seu app com
os menores downloads possíveis e aumenta o tamanho do download compactado.
Ou seja, quando um usuário faz o download do seu app, o tamanho total dos
APKs compactados exigidos para a instalação (por exemplo, APK base +
APKs de configuração) precisa ser de, no máximo, 4 GB. Qualquer download subsequente,
como o download de um módulo de recurso (e os APKs de configuração dele) sob demanda,
também precisa atender a essa restrição de tamanho de download compactado. Os pacotes de recursos não
contribuem para esse limite, mas têm outras restrições de tamanho.
Se o Play Console constatar que qualquer um dos possíveis downloads do app ou dos recursos
sob demanda está acima dos limites de tamanho máximo, você vai receber um erro.
Lembre-se de que os Android App Bundles não são compatíveis com
arquivos de expansão de APK (*.obb
). Portanto, se você encontrar esse erro ao publicar seu pacote de apps, use
um dos seguintes recursos para reduzir os tamanhos de download de APK compactados:
- Ative todos os APKs de configuração definindo
enableSplit = true
para cada tipo de APK de configuração. Isso garante
que os usuários façam o download apenas do código e dos recursos necessários para executar o app
no dispositivo deles.
- Reduza seu app removendo códigos e recursos
não usados.
- Siga as práticas recomendadas para
reduzir o tamanho do app ainda mais.
- Considere converter recursos que são usados apenas por alguns dos usuários em
módulos de recursos
que podem ser baixados posteriormente, sob demanda. Lembre-se de que isso pode exigir
alguma refatoração do app. Portanto, tente usar as outras sugestões
descritas primeiro.
Outras considerações
Confira a seguir problemas conhecidos ao criar ou disponibilizar seu app
com os Android App Bundles. Se você tiver problemas que
ainda não estão descritos aqui, informe um bug.
- As instalações parciais de apps transferidos por sideload (ou seja, apps que não são instalados
pela Google Play Store e não têm um ou mais APKs divididos necessários) falham em
todos os dispositivos certificados pelo Google e dispositivos com Android 10 (API de nível 29) ou
mais recente. Ao fazer o download do seu app na Google Play Store, o Google
garante que todos os componentes necessários estejam instalados.
Se você usa ferramentas que modificam dinamicamente as tabelas de recursos, os APKs gerados
em pacotes de apps podem se comportar de maneira inesperada. Portanto,
é recomendável desativar essas ferramentas ao criar um pacote de apps.
É possível definir propriedades na configuração
do build de um módulo de recurso que entrem em conflito com as dos módulos
base (ou
outros). Por exemplo, você pode definir buildTypes.release.debuggable =
true
no módulo base e como false
em um módulo de recurso.
Esses conflitos podem causar problemas na criação e no ambiente de execução. Lembre-se de que, por padrão,
os módulos de recursos herdam algumas configurações do build do
módulo base. Portanto, é necessário compreender quais configurações precisam ser mantidas
e quais precisam ser omitidas na configuração do build
do módulo de recurso.
Outros recursos
Para saber mais sobre Android App Bundles, consulte os seguintes recursos.
Postagens do blog (links em inglês)
Vídeos
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)"]]