Android App Bundle 정보
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android App Bundle은 앱의 컴파일된 코드와 리소스를 모두 포함하고 APK 생성 및 Google Play 서명은 지연시키는 게시 형식입니다.
Google Play는 App Bundle을 사용하여 각 기기 설정에 맞게 최적화된 APK를 생성하고 제공합니다. 따라서 앱을 실행하기 위해서는 특정 기기에 필요한 코드와 리소스만 다운로드하면 됩니다. 개발자는 더 이상 다양한 기기에 대한 지원을 최적화하기 위해 여러 개의 APK를 빌드, 서명 및 관리할 필요가 없으며, 사용자는 더 작고 최적화된 앱을 다운로드하게 됩니다.
대부분의 앱 프로젝트는 큰 노력을 들이지 않고도 최적화된 APK 제공을 지원하는 App Bundle을 빌드할 수 있습니다. 설정된 규칙에 따라 이미 앱의 코드와 리소스를 구성한 경우 Android 스튜디오 또는 명령줄을 사용하여 서명된 Android App Bundle을 빌드하고 Google Play에 업로드하면 최적화된 APK 제공 기능이 자동으로 제공됩니다.
App Bundle 형식을 사용하여 앱을 게시할 때 선택적으로 Play Feature Delivery를 활용할 수 있습니다. Play Feature Delivery를 사용하면 앱 프로젝트에 기능 모듈을 추가할 수 있습니다.
이러한 모듈에는 지정한 조건에 따라 앱에만 포함되거나 나중에 런타임 시 Play Core 라이브러리를 사용한 다운로드에 사용할 수 있는 기능과 리소스가 포함됩니다.
App Bundle로 앱을 게시하는 게임 개발자는 Play Asset Delivery를 사용할 수 있습니다. Play Asset Delivery는 대규모 게임 애셋을 제공하기 위한 Google Play 솔루션으로, 개발자에게 유연한 전송 방법과 고성능을 제공합니다.
다음 동영상에서 Android App Bundle을 사용하여 앱을 게시해야 하는 이유를 간략하게 알아볼 수 있습니다.
압축 다운로드 크기 제한
Android App Bundle을 사용하여 게시하면 사용자가 가능한 한 가장 작은 다운로드로 앱을 설치할 수 있으며 압축 다운로드 크기가 커집니다.
즉, 사용자가 앱을 다운로드할 때 앱을 설치하는 데 필요한 압축 APK의 총 크기 (예: 기본 APK + 구성 APK)는 4GB 이하여야 합니다. 주문형 기능 모듈 (및 구성 APK)을 다운로드하는 등 후속 다운로드에서도 이러한 압축 다운로드 크기 제한을 충족해야 합니다. 애셋 팩은 이 크기 제한에 영향을 미치지 않지만 다른 크기 제한이 있습니다.
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에 관한 자세한 내용은 다음 리소스를 참고하세요.
블로그 게시물
동영상
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 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)"]]