Ship a brand-new Android app to Google Play. More setup than re-uploads — developer account, app record, Data Safety form, Content Rating, signing setup, store listing, internal test, then production. ~2 hours of your time + 1–7 days of Google's review.
Since 2023, Google requires identity verification for new developer accounts. Personal accounts need a government ID; organizational accounts need a D-U-N-S Number + tax info.
Play Console → Account details → upload required documents. Verification takes 1–7 days. You cannot publish until verified.
Play Console → All apps → Create app. Fill in:
Click Create app. You land on the app dashboard with a "Set up your app" checklist on the right.
Critical step. Use Play App Signing (let Google manage your release signing key). Without it, losing your local keystore means you can never update the app.
Setup → App integrity → App signing. Two options:
Generate an upload key locally with keytool:
keytool -genkey -v -keystore upload-keystore.jks \
-keyalg RSA -keysize 2048 -validity 10000 -alias upload
This upload key is what your local builds sign with. Play re-signs with the release key Google holds. Play App Signing docs ↗.
Sidebar → Grow → Store presence → Main store listing:
Tools to generate marketing assets: Figma ↗, Canva ↗, Hotpot ↗.
Sidebar → Store presence → Store settings:
Sidebar → Policy → App content → Content ratings → Start questionnaire.
Multi-step quiz: does the app contain violence, sexual content, profanity, gambling, drug references, etc. Answer honestly.
Result: ratings for IARC, ESRB, PEGI, USK, ClassInd, and other regional rating boards. Different regions show different ratings.
Sidebar → Policy → App content → Data safety.
For each data type your app collects, declare:
Lying on this form = guaranteed rejection or removal post-launch. Google compares your declarations to actual app behavior with automated tools.
Sidebar → Policy → App content:
Each declaration unlocks additional requirements. Answer carefully.
Same as the re-upload flow:
./gradlew bundleRelease
Or Android Studio: Build → Generate Signed Bundle / APK → Android App Bundle.
Sign with your upload keystore (Step 3). Output: app/build/outputs/bundle/release/app-release.aab.
Full walkthrough: Re-upload an Android app to Play Console.
Before production, ship to Internal testing first:
Sidebar → Testing → Internal testing → Create new release. Upload AAB. Available to up to 100 named testers within minutes. No human review.
Add testers under the Testers tab; share the opt-in link. Use the tested build to validate everything works on real devices before submitting to production.
Sidebar → Production → Create new release.
Fill in:
For the first release, you can choose to roll out to all users at once or in stages (start at 20% of users, then 50%, then 100%).
Staged is safer — you can pause if Vitals shows regressions. Staged rollouts docs ↗.
Click Review release → Start rollout to Production. Confirm. Status moves to In review.
Timing:
You'll receive an email when status changes. Watch in Publishing overview.
Full policy: Developer Program Policies ↗.