Choose the artifact that answers the question
Analyze the exact release variant being shipped. A debug APK can include different code, resources, logging and instrumentation. Comparing a debug build with a minified release build makes it difficult to attribute a change to one dependency or feature.
Record the application ID, version code, build variant and source revision before opening the file. For a Play-distributed app, note whether you are examining a universal APK, a base split or APKs generated for a device. These packages answer different size and compatibility questions.
Open the analyzer and establish a baseline
Use Android Studio's Build → Analyze APK action; menu placement can vary with Studio versions, so action search is a practical fallback. Select the APK and begin at the package root. Expand only the categories relevant to the investigation rather than reading thousands of entries indiscriminately. APK Analyzer documentation.
A disciplined pass has three stages:
- Identify the largest file categories and compare raw contribution with download estimates.
- Inspect the decoded manifest for the final permissions, components and SDK declarations.
- Explore DEX packages or resources associated with the changed feature or dependency.
For repeatable metadata checks outside the IDE, use:
apkanalyzer manifest application-id app-release.apk
apkanalyzer manifest version-code app-release.apk
apkanalyzer dex list app-release.apk
Investigate a size increase with a controlled comparison
Suppose a release grows after adding an analytics library. Compare artifacts built from adjacent revisions with the same variant and optimization settings. Look for new DEX packages, bundled native libraries and transitive dependencies. The named library may be small while a transitive component accounts for most of the increase.
If image resources dominate instead, inspect configuration variants and originals accidentally packaged in assets/. Removing a language or architecture solely to shrink the chart can exclude users; make distribution decisions deliberately.
Understand the limits of the view
A class present in DEX does not prove that its code executes in your app's normal flow. An absent resource in a base split does not prove it is missing from delivery. Compressed file size also does not equal installed storage or RAM use.
The analyzer can reveal evidence that motivates a test. It does not replace an installation test, runtime profile, signature verification or security assessment. Command-line alternatives.
Close the loop
After the proposed change, rebuild under the same conditions and repeat the comparison. Keep before-and-after figures with the exact artifact identifiers. Test the features associated with removed code or resources, including release-only paths affected by shrinking.
Use APKLint for a quick structural summary or sharing a focused finding, then return to the build-aware analyzer when resource-level attribution or full project context is required.
Sources and further reading
- Android Developers: Analyze your build with APK Analyzer
- Android Developers: apkanalyzer command-line reference
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.



