App thinning / split APK / app bundle

Letting the store cut one app upload into device-specific downloads, so each phone gets only the code and assets it needs.

why does each phone download a different APKstop sending tablet artwork to phonesmake the app download smaller for each deviceGoogle Play is generating APKs from my AABthin the appwhy is the download smaller than the file I uploadedapp bunldeone upload, many different downloads

See it

Live demo coming soon

What it is

These are the store systems that turn one upload into smaller downloads for different devices. Apple calls its process app thinning and slices an App Store build by device capabilities. On Android, you upload an Android App Bundle, or AAB, and Google Play generates a base APK plus configuration splits for the device's processor, screen density, and languages. Google Play has required new apps to publish as bundles rather than plain APKs since August 2021.

Reach for it when native libraries, localized resources, high-density art, or optional features make a universal package wasteful. The store does the final slicing, but your project still has to label resources and modules correctly. Measure several real device variants, since there is no single download size after slicing.

Gotcha: phones install the APK set generated from the AAB; the AAB stays a publishing upload. Use bundletool to generate and test that APK set locally. On both platforms, a bad resource declaration can remove an asset a device needs, so test language changes, density changes, and optional feature delivery instead of trusting the smaller number.

Ask AI for it

Configure device-specific delivery for this project. On Android, produce an Android App Bundle with ABI, screen-density, and language splits, then use bundletool build-apks and bundletool get-size total to test representative devices from this matrix [paste]. On iOS, move images into Xcode asset catalogs with correct scale and device membership, archive the Release build, then export that archive from the Organizer for Ad Hoc distribution with all compatible device variants selected so Xcode writes App Thinning Size Report.txt. Return the project changes, exact local verification commands, before and after download sizes per device, and tests for missing localized or density-specific assets. Do not add Bitcode or report the raw AAB or IPA file size as the customer download.

You might have meant

bundle id package nameminimum deployment targetcode signing and provisioningcross platform appstore submission