Informacje o pakietach Android App Bundle
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Pakiet Android App Bundle to format publikowania, który obejmuje cały skompilowany kod i zasoby aplikacji oraz opóźnia generowanie plików APK i podpisywanie ich w Google Play.
Google Play używa Twojego pakietu aplikacji do generowania i udostępniania zoptymalizowanych plików APK dla każdej konfiguracji urządzenia. Dzięki temu do uruchomienia aplikacji jest pobierany tylko kod i zasoby niezbędne dla danego urządzenia. Nie musisz już tworzyć i podpisywać wielu plików APK ani nimi zarządzać, aby zoptymalizować obsługę różnych urządzeń, a użytkownicy otrzymują mniejsze i bardziej zoptymalizowane pliki do pobrania.
Utworzenie większości projektów aplikacji nie wymaga wiele wysiłku. Tworzenie pakietów aplikacji obsługujących udostępnianie zoptymalizowanych plików APK nie wymaga wiele wysiłku. Jeśli masz już uporządkowany kod i zasoby aplikacji zgodnie z ustalonymi konwencjami, utwórz podpisane pakiety aplikacji na Androida w Android Studio lub przy użyciu wiersza poleceń i prześlesz je do Google Play, wówczas zoptymalizowane wyświetlanie plików APK stanie się automatyczną zaletą.
Jeśli do publikowania aplikacji używasz formatu pakietów aplikacji, możesz też opcjonalnie skorzystać z funkcji Play Feature Delivery, która umożliwia dodanie modułów funkcji do projektu aplikacji.
Te moduły zawierają funkcje i zasoby, które są dostępne w Twojej aplikacji tylko na podstawie określonych przez Ciebie warunków lub są dostępne później w czasie działania do pobrania za pomocą podstawowej biblioteki Google Play.
Deweloperzy gier, którzy publikują swoje aplikacje w formie pakietów aplikacji, mogą korzystać z Play Asset Delivery. Jest to rozwiązanie Google Play, które pozwala dostarczać duże ilości zasobów gry i oferuje elastyczne metody przesyłania oraz wysoką wydajność.
Obejrzyj ten film, by dowiedzieć się, dlaczego warto opublikować aplikację za pomocą pakietów Android App Bundle.
Ograniczenie rozmiaru pobieranego pliku skompresowanego
Publikowanie aplikacji za pomocą pakietów Android App Bundle pomaga użytkownikom instalować aplikację przy jak najmniejszej liczbie pobrań i zwiększa rozmiar skompresowanego pliku do pobrania.
Oznacza to, że gdy użytkownik pobiera aplikację, łączny rozmiar skompresowanych plików APK wymaganych do jej zainstalowania (np. podstawowego pliku APK i plików APK konfiguracji) nie może przekraczać 4 GB. Wszystkie pliki do pobrania, takie jak pobieranie modułu funkcji (i jego plików APK) na żądanie, również muszą spełniać to ograniczenie rozmiaru skompresowanego pliku. Pakiety zasobów nie mają wpływu na ten limit rozmiaru, ale obowiązują w nich inne ograniczenia rozmiaru.
Jeśli Konsola Play wykryje, że liczba pobrań Twojej aplikacji lub jej funkcji na żądanie przekracza limit rozmiaru, pojawi się błąd.
Pamiętaj, że pakiety Android App Bundle nie obsługują plików rozszerzeń APK (*.obb
). Jeśli więc podczas publikowania pakietu aplikacji napotkasz ten błąd, zmniejsz rozmiar skompresowanego pliku APK, korzystając z jednego z tych zasobów:
- Pamiętaj, aby włączyć wszystkie pliki APK konfiguracji, ustawiając
enableSplit = true
dla każdego typu pliku APK konfiguracji. Dzięki temu użytkownicy będą mogli pobrać tylko kod i zasoby niezbędne do uruchomienia aplikacji na urządzeniu.
- Pamiętaj, aby zmniejszyć aplikację, usuwając nieużywany kod i zasoby.
- Postępuj zgodnie ze sprawdzonymi metodami, aby jeszcze bardziej zmniejszyć rozmiar aplikacji.
- Rozważ przekształcenie funkcji, z których korzystają tylko niektórzy użytkownicy, na moduły funkcji, które aplikacja będzie mogła później na żądanie pobrać. Pamiętaj, że może to wymagać
refaktoryzacji aplikacji, więc najpierw wypróbuj
inne opisane sugestie.
Inne rzeczy, które warto wziąć pod uwagę
Poniżej znajdziesz znane problemy z tworzeniem lub wyświetlaniem aplikacji za pomocą pakietów Android App Bundle. Jeśli napotkasz problemy, które nie zostały tu opisane, zgłoś błąd.
- Częściowe instalacje aplikacji zainstalowanych z nieoficjalnych źródeł – czyli takich, które nie zostały zainstalowane ze Sklepu Google Play i nie mają co najmniej jednego wymaganego dzielonego pakietu APK – nie zostaną ukończone na wszystkich urządzeniach z certyfikatem Google i urządzeniach z Androidem 10 (poziom interfejsu API 29) lub nowszym. Jeśli pobierasz aplikację ze Sklepu Google Play,
masz pewność, że wszystkie wymagane komponenty są zainstalowane.
Jeśli używasz narzędzi, które dynamicznie zmieniają tabele zasobów, pliki APK generowane z pakietów aplikacji mogą działać w nieoczekiwany sposób. Dlatego podczas tworzenia pakietu aplikacji
zalecamy wyłączenie takich narzędzi.
Można skonfigurować właściwości w konfiguracji kompilacji modułu funkcji, która koliduje z tymi z modułu podstawowego (lub innych). Na przykład możesz ustawić buildTypes.release.debuggable =
true
w module podstawowym i false
w module funkcji.
Takie konflikty mogą powodować problemy z kompilacją i czasem działania. Pamiętaj, że moduły funkcji domyślnie dziedziczą niektóre konfiguracje kompilacji z modułu podstawowego. Dlatego w konfiguracji kompilacji modułu funkcji sprawdź, które konfiguracje warto zachować, a które pominąć.
Dodatkowe materiały
Więcej informacji o pakietach Android App Bundle znajdziesz w tych materiałach.
Posty na blogu
Filmy
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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)"]]