[ Mobile Apps ]

Android Release Checklist: Build to Play Store

A practical Android release checklist: signing, app bundles, policy forms, testing tracks, staged rollout, and the monitoring that follows.

DATE January 29, 2025READING 4 min readCATEGORY Mobile Apps
apps for life

Android releases become routine once the pipeline exists; the teams that struggle are usually assembling the release by hand at the end. Play Console asks for signing, policy declarations, listing assets, and testing evidence in separate places, and a missing piece in any of them delays everything else. Working through the same ordered checklist every version keeps the process boring, which is exactly what a release process should be. Writing each step down once turns a stressful launch into a repeatable one.

Signing deserves its own paragraph because losing it can end an app's update path. Play App Signing lets Google hold the app signing key while the team keeps an upload key, which reduces some risk but does not remove the need to back up keystores, passwords, and aliases securely. An upload key can be reset through support if it is compromised, while a lost app signing key without Play App Signing is far more painful. Document who holds the keys and how a new machine can be provisioned to sign.

Build configuration comes next. The release artifact for Play is an Android App Bundle, with the version code incremented for every upload and the version name chosen to match the marketing version. Verify the release build type, minification and resource shrinking settings, and keep the obfuscation mapping file ready for crash symbolication. Test the bundle through an internal track rather than assuming a debug build represents what users will receive; debug-only behavior has a way of masking release-only problems.

Google Play enforces target API level requirements on a rolling schedule, and apps that do not meet the current threshold stop receiving updates from new users. Track that deadline as a maintenance event rather than a surprise. The same goes for foreground service types, exact alarm permissions, photo and video access, and other sensitive capabilities that require explicit declarations and justification. Reading the policy change log each quarter is cheaper than discovering a requirement during a release freeze.

Policy and compliance forms are part of the build. The Data safety section must accurately describe what the app collects and shares, the ads declaration has to match reality, content rating questionnaires need honest answers, and the app's privacy policy has to be reachable and consistent with those answers. If the app targets children or falls under the families policy, extra rules apply. These forms are user-facing claims, and an inaccurate declaration is a rejection or removal risk, not a formality.

Testing tracks exist to answer different questions. Internal testing verifies the signed artifact quickly, closed testing gives a small group real usage over time, and open testing exposes the build to a wider audience before full release. The pre-launch report surfaces crashes, performance issues, and accessibility findings automatically, and it is worth reading before rollout. Devices matter too: cheap hardware, large screens, unusual aspect ratios, and older OS versions find problems that a modern flagship never will.

Much of the checklist can be automated, and the calmest release teams usually have automated it already. A build pipeline that produces the signed bundle, records the version code, uploads the mapping file, and publishes to an internal track removes the manual steps where mistakes tend to live. Scripts that verify the target API level and run basic policy checks before upload catch problems while they are still cheap to fix. Automation does not replace the policy declarations or the rollout decision, but it makes the mechanical parts identical on every release.

The store listing carries the conversion work. The title, short description, full description, screenshots, feature graphic, app icon, and preview video all need to match the current build and its positioning. Localized listings should be updated when the app changes, not left to stale translations. Release notes are short but visible; describing what actually changed respects users and reduces one-star reviews from confusion about a feature that moved.

Rollout is where risk gets managed. A staged rollout starts with a small percentage, and the decision points for increasing or halting should be written before the release, based on crash and ANR rates rather than vibes. Google Play vitals report both across versions, so compare against the previous release rather than a generic target. In-app updates can nudge users onto the newest version when a fix matters, and a planned hotfix path is worth having before it is needed.

After the release stabilizes, close the loop: confirm the version is fully rolled out, watch vitals and user reviews for regressions, archive the signed bundle and mapping file, and note anything that should change in the next cycle. The checklist is finished when the app is not just live, but observable, supportable, and ready for the version that will follow it. Store the signed bundle, mapping file, and release notes where the whole team can find them, because the next release depends on knowing exactly what changed two versions ago.

[ Sources ]

Official documentation, checked and cited.

Terminology and platform behavior in this note trace back to published docs, not secondhand summaries.