GuidesApp Development

How to Reduce Image Assets in an Android App Bundle

Find oversized and unused image resources, choose suitable Android assets, and verify changes in a release build.

3 min read · Published 2026-03-31
Verified by ImageTight Engine

Measure the bundle before optimizing

An Android App Bundle is a publishing format from which Google Play can generate device-specific APKs. The download a user receives is not necessarily the same size as the uploaded bundle. Limits and delivery behavior depend on current Play policies, modules, asset delivery, and configuration, so check the current Play Console guidance rather than relying on an old fixed-size rule.

Start by producing a release bundle and inspecting its contents with Android Studio's App Bundle Explorer or the bundle analysis tools. Identify whether images are actually a large part of the delivered size. Native libraries, bundled media, duplicate density resources, and unused files can all contribute.

Remove assets the app does not need

Search for resources that are no longer referenced and review generated or copied assets in the module. Android's resource shrinking can remove eligible unused resources when configured with code shrinking for a release build. Test the resulting app carefully: dynamically referenced resources, reflection, or custom loading code may need explicit keep rules or references so they are not removed.

Also check whether the app ships multiple near-identical copies of a large image. Keep the variants required by the interface, but avoid including obsolete exports or source files that are not used at runtime.

Choose the right representation

  • Vector drawables: consider them for simple icons and illustrations that scale cleanly. They are not a good substitute for detailed photographs.
  • Density-specific resources: provide the sizes your app needs and inspect how they are packaged for different devices.
  • Modern compressed formats: WebP or other formats may reduce some raster assets, but confirm support for your minimum Android version and the way your app decodes them.
  • Remote or on-demand assets: large optional content may belong in an appropriate delivery model rather than the base install, if the user experience and platform rules allow it.

Batch-process safely

  1. Copy the resource directory and keep the original assets under version control or in a verified backup.
  2. Inventory file dimensions, formats, and sizes to identify the largest candidates first.
  3. Choose a small sample that includes photos, icons, transparent images, and assets with text.
  4. Resize or convert the sample, then compare appearance on representative screen densities and themes.
  5. Preserve file names and resource references, or update references as part of the same change.
  6. Build a release bundle and compare its analyzed download sizes before and after the change.

Test the release, not only the source files

Run the optimized app on devices or emulators that cover your supported Android versions and screen densities. Check that images load, transparency looks correct, and small text or line work remains legible. Confirm that resource shrinking has not removed files loaded indirectly. A smaller archive is not a successful optimization if it creates visual defects or runtime errors.

Keep changes measurable: record the release variant, bundle analysis, asset changes, and test devices. If a conversion causes a problem, the original files make rollback straightforward. ImageTight's bulk image tool can help prepare selected raster assets, but Android packaging and runtime compatibility still need to be validated in your own project.

Prioritize the largest real savings

Work from the bundle analysis rather than converting every drawable. Remove duplicates and unused assets first, then review oversized raster files and delivery options. Rebuild and compare the actual device-specific download size. This approach is safer and more informative than targeting a historic bundle threshold without checking today's platform requirements.

Frequently Asked Questions

Is the AAB upload size the same as the user's download size?

Not necessarily. Google Play can generate device-specific APKs from an App Bundle, so the delivered size depends on the device and bundle configuration. Use current Play Console analysis for your release.

Should I convert every Android image to WebP?

No. Check the minimum Android version, decoding path, image content, and visual quality. Vector drawables or other formats may be more appropriate for some assets.

Can resource shrinking break my app?

It can if resources are loaded indirectly and the shrinker cannot see the reference. Test release builds and add the necessary keep rules or explicit references for dynamically used resources.

    How to Reduce Image Assets in an Android App Bundle