Capture a real test-device specification
Connect an authorized test device and confirm that ADB sees the intended device. Then use bundletool:
java -jar bundletool.jar get-device-spec --output=device-spec.json
When several devices are connected, select the device with the documented device-ID option. Save the specification with the release test record; do not rely on a filename such as my-phone.json without identifying what it represents. Official command reference.
Generate and extract against the same specification
A typical workflow is:
java -jar bundletool.jar build-apks \
--bundle=app-release.aab \
--output=release.apks
java -jar bundletool.jar extract-apks \
--apks=release.apks \
--device-spec=device-spec.json \
--output-dir=device-apks
Provide appropriate signing parameters during generation when the test requires a particular identity. The output set is a local generation result, not evidence of the exact certificate or server behavior of a Play installation.
Know what the specification does not model
The specification guides package selection using characteristics such as supported ABIs, screen density, locales and SDK version. It is not a simulation of network quality, OEM background restrictions, available storage, graphics-driver bugs or user permission decisions.
A package selected for a device can still crash because of application logic. Use the specification to control delivery variables, then test runtime behavior separately.
Use a small matrix instead of one universal device
Choose representative low- and high-SDK devices, required architectures and relevant resource configurations. For each, record which APK files were selected and which critical tasks were exercised.
A useful regression check compares both the package inventory and the behavior. If a release unexpectedly gains an additional native split or loses a language resource, investigate the build change even when the initial launch still succeeds.
Avoid misleading size claims
Size estimates derived from a specification should be labelled with that configuration. Do not present a single arm64-English result as the download size for every global user. A universal APK is a different comparison point and can include resources a specific device will never receive.
APKLint's AAB Analyzer can help inspect the publishing artifact before generation. bundletool and device tests remain necessary to establish which packages are selected and whether that selected set actually works.
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.



