Prepare the original bundle and signing context
Use an AAB from a known build and obtain bundletool from the official Android tooling distribution. Keep the bundle, source revision and signing configuration together. Do not put private keystore passwords into shared shell history or analysis reports.
Generating APKs locally does not necessarily reproduce the signing certificate of APKs Google Play delivers. Play App Signing can use a different app-signing key from your upload key. Signing overview.
Generate a universal package for a local check
An illustrative command is:
java -jar bundletool.jar build-apks \
--bundle=app-release.aab \
--output=local-universal.apks \
--mode=universal
Configure the signing options appropriate to your test. Without explicit release signing, do not assume the output carries your production identity. The .apks output is an archive; inspect it and extract the generated universal APK using an archive tool. bundletool reference.
Use device-specific output when delivery matters
For a connected test device, you can generate an APK set with a device specification and use bundletool to install it. This helps reveal configuration-specific problems that a universal APK can hide, such as missing native libraries or resources.
A universal APK can also include only features configured to participate in that output. It is not a complete substitute for testing on-demand feature or asset delivery through the intended distribution channel.
Diagnose generation failures at the right layer
| Symptom | Check first |
|---|---|
| Bundle cannot be read | File integrity, bundle format and bundletool compatibility |
| Signing failure | Keystore path, alias and credentials |
| APK installs but login fails | Certificate fingerprints and backend registration |
| Device-specific install fails | Device specification, SDK/ABI support and complete split set |
Do not rename the AAB, hand-copy module contents into a ZIP or sign only one file from a mismatched package set.
Verify the generated artifact
Inspect the resulting APK's application ID, version and SDK declarations. Verify signing separately, install on a test device and exercise the relevant features. Label your record “generated locally with bundletool” rather than “downloaded from Play” so the certificate and delivery assumptions remain clear.
APKLint's AAB Analyzer is useful for inspecting the publishing container. It is not a replacement for bundletool's APK generation, package validation or a real installation test.
Sources and further reading
Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.



