Android App Bundle hakkında
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android App Bundle, uygulamanızın tüm derlenmiş kodunu ve kaynaklarını içeren, APK oluşturmayı ve Google Play'de imzalamayı erteleyen bir yayınlama biçimidir.
Google Play, her cihaz yapılandırması için optimize edilmiş APK'lar oluşturmak ve yayınlamak üzere uygulama paketinizi kullanır. Böylece, uygulamanızı çalıştırmak üzere yalnızca belirli bir cihaz için gereken kod ve kaynaklar indirilir. Artık farklı cihazlar için desteği optimize etmek üzere birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Ayrıca kullanıcılar daha küçük boyutlu, daha optimize edilmiş indirmeler elde eder.
Çoğu uygulama projesi, optimize edilmiş APK'ların sunulmasını destekleyen uygulama paketleri oluşturmak için çok fazla çaba gerektirmez. Uygulamanızın kodunu ve kaynaklarını halihazırda belirlenen kurallara göre düzenliyorsanız, Android Studio'yu kullanarak veya komut satırını kullanarak imzalı Android uygulama paketleri oluşturun ve bunları Google Play'e yükleyin. Optimize edilmiş APK sunumu otomatik bir avantaj haline gelir.
Uygulamanızı yayınlamak için uygulama paketi biçimini kullanırken uygulama projenize özellik modülleri eklemenize olanak tanıyan Play Özellik Dağıtımı'ndan da yararlanabilirsiniz.
Bu modüller, yalnızca belirttiğiniz koşullara göre uygulamanıza dahil edilen veya çalışma zamanında daha sonra Play Core Kitaplığı'nı kullanarak indirilmek üzere indirilebilecek özellikler ve kaynaklar içerir.
Uygulamalarını uygulama paketiyle yayınlayan oyun geliştiriciler, Google Play'in geliştiricilere esnek yayınlama yöntemleri ve yüksek performans sunan büyük miktarlarda oyun öğesi yayınlamaya yönelik çözümü Play Asset Delivery'yi kullanabilir.
Uygulamanızı neden Android App Bundle kullanarak yayınlamanız gerektiğine dair genel bir bakış için aşağıdaki videoyu izleyin.
Sıkıştırılmış indirme boyutu kısıtlaması
Android App Bundle ile yayınlama, kullanıcılarınızın uygulamanızı mümkün olan en küçük indirme işlemiyle yüklemesine yardımcı olur ve sıkıştırılmış indirme boyutunu artırır.
Yani bir kullanıcı uygulamanızı indirdiğinde, uygulamanızı yüklemek için gereken sıkıştırılmış APK'ların (ör. temel APK + yapılandırma APK'ları) toplam boyutu 4 GB'tan fazla olmamalıdır. İsteğe bağlı olarak bir özellik modülünün (ve yapılandırma APK'larının) indirilmesi gibi sonraki indirmeler de bu sıkıştırılmış indirme boyutu kısıtlamasına uymalıdır. Öğe paketleri bu boyut sınırına dahil edilmez, ancak başka boyut kısıtlamaları vardır.
Play Console, uygulamanızın olası indirmelerinden veya isteğe bağlı özelliklerinden herhangi birinin maksimum boyut sınırlarını aştığını tespit ederse bir hata alırsınız.
Android App Bundle'ların APK genişletme (*.obb
) dosyalarını desteklemediğini unutmayın. Dolayısıyla, uygulama paketinizi yayınlarken bu hatayla karşılaşırsanız sıkıştırılmış APK indirme boyutlarını azaltmak için aşağıdaki kaynaklardan birini kullanın:
- Her yapılandırma APK'sı türü için
enableSplit = true
ayarlayarak tüm yapılandırma APK'larını etkinleştirdiğinizden emin olun. Bu, kullanıcıların yalnızca uygulamanızı cihazlarında çalıştırmak için ihtiyaç duydukları kodu ve kaynakları indirmelerini sağlar.
- Kullanılmayan kod ve kaynakları kaldırarak uygulamanızı küçültdüğünüzden emin olun.
- Uygulama boyutunu daha da küçültmek için en iyi uygulamalardan yararlanın.
- Yalnızca bazı kullanıcılarınız tarafından kullanılan özellikleri, uygulamanızın daha sonra istek üzerine indirebileceği özellik modüllerine dönüştürmeyi düşünün. Bunun için uygulamanızın yeniden düzenlenmesi gerekebileceğini unutmayın. Bu nedenle, öncelikle açıklanan diğer önerileri denediğinizden emin olun.
Dikkat edilmesi gereken diğer noktalar
Uygulamanızı Android App Bundle ile oluştururken veya sunarken aşağıdaki bilinen sorunlar gösterilmektedir. Burada açıklanmayan sorunlar yaşarsanız hata bildiriminde bulunun.
- Başka cihazdan yüklenen uygulamaların (yani, Google Play Store kullanılarak yüklenmeyen ve bir veya daha fazla gerekli bölünmüş APK'nın eksik olduğu uygulamaların) kısmi yüklemeleri, Android 10 (API düzeyi 29) veya sonraki sürümleri çalıştıran Google sertifikalı tüm cihazlarda ve cihazlarda başarısız olur. Google, uygulamanızı Google Play Store'dan indirirken,
uygulamanın gerekli tüm bileşenlerinin yüklendiğinden emin olmanızı sağlar.
Kaynak tablolarını dinamik olarak değiştiren araçlar kullanıyorsanız uygulama paketlerinden oluşturulan APK'lar beklenmedik şekilde davranabilir. Bu nedenle, bir uygulama paketi oluştururken
bu tür araçları devre dışı bırakmanız önerilir.
Bir özellik modülünün derleme yapılandırmasında, temel (veya diğer) modüllerdeki özelliklerle çakışan özellikleri yapılandırmak mümkündür. Örneğin, temel modülde buildTypes.release.debuggable =
true
ve bir özellik modülünde false
olarak ayarlayabilirsiniz.
Bu tür çakışmalar, derleme ve çalışma zamanı sorunlarına neden olabilir. Varsayılan olarak, özellik modüllerinin bazı derleme yapılandırmalarını temel modülden devraldığını unutmayın. Bu nedenle, özellik modülü derleme yapılandırmanızda hangi yapılandırmaları tutmanız ve hangilerini atlamanız gerektiğini anladığınızdan emin olun.
Ek kaynaklar
Android App Bundle hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
Blog yayınları
Videolar
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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)"]]