Tutorials / Native Mac IDE / First-time Android Play Console submission
📝 Written ● Intermediate Updated 2026-05-13

First-time Android Play Console submission

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.

What you need

0
  • Android Studiodeveloper.android.com/studio ↗ (Mac Intel, Mac Apple Silicon, Windows, Linux).
  • Google Play Developer account — $25 one-time fee. play.google.com/console/signup ↗. Google now requires identity verification for new accounts (1–7 days approval).
  • A working Android app — runs on a real device or emulator.
  • Marketing assets — app icon (512×512 PNG), feature graphic (1024×500 PNG), screenshots, description, privacy policy URL.

Verify your developer account

1

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.

Verification docs ↗.

Create a new app

2

Play Console → All apps → Create app. Fill in:

  • App name — 30 chars max. Shown in Play Store.
  • Default language — primary locale.
  • App or Game — affects review and category.
  • Free or Paid — paid apps can't switch to free later (free can switch to paid).
  • Declarations — confirm you've reviewed Google Play policies and are eligible.

Click Create app. You land on the app dashboard with a "Set up your app" checklist on the right.

Set up Play App Signing

3

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:

  • Use a Google-generated key (recommended for new apps) — Google manages everything.
  • Upload your own — for existing keys you must keep.

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 ↗.

Configure store listing

4

Sidebar → Grow → Store presence → Main store listing:

  • App name — 30 chars.
  • Short description — 80 chars. Shown above the screenshots.
  • Full description — 4000 chars. Marketing copy + features.
  • App icon — 512×512 PNG, 32-bit alpha. Icon specs ↗.
  • Feature graphic — 1024×500 PNG/JPG. Banner at the top of your Play Store page.
  • Screenshots — minimum 2, max 8 per device type (phone, 7" tablet, 10" tablet). Min dimension 320 px, max 3840 px.
  • Video — optional YouTube link.

Tools to generate marketing assets: Figma ↗, Canva ↗, Hotpot ↗.

Set categorization

5

Sidebar → Store presence → Store settings:

  • App category — Productivity, Business, etc. Categories list ↗.
  • Tags — up to 5 tags. Affects discoverability.
  • Contact details — email (required), phone, website.
  • Privacy policy URL — required, must be live and reachable.

Complete the Content Rating questionnaire

6

Sidebar → Policy → App content → Content ratingsStart 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.

Content ratings docs ↗.

Fill in the Data Safety form

7

Sidebar → Policy → App content → Data safety.

For each data type your app collects, declare:

  • Is it collected? (yes/no)
  • Is it shared with third parties?
  • Why is it collected? (app functionality, analytics, advertising, etc.)
  • Is it required or optional?
  • Is it encrypted in transit?
  • Can users delete it?

Lying on this form = guaranteed rejection or removal post-launch. Google compares your declarations to actual app behavior with automated tools.

Data safety form docs ↗.

Declare target audience + ads

8

Sidebar → Policy → App content:

  • Target audience and content — age groups your app targets. If kids 12 and under, Google's Designed for Families program applies extra rules.
  • Ads — does your app contain ads? Yes/no — must match reality.
  • Government apps — does the app represent a government entity?
  • News apps — does it produce news content?
  • Financial features — handles money or financial accounts?
  • Health features — interacts with health data?

Each declaration unlocks additional requirements. Answer carefully.

Build a signed AAB

9

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.

(Recommended) Internal testing first

10

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.

Create the production release

11

Sidebar → Production → Create new release.

  • If you already uploaded a build to Internal testing → click Promote release → Production. No re-upload needed.
  • Otherwise → upload your AAB here directly.

Fill in:

  • Release name — defaults to versionName; can edit.
  • Release notes — what's new for users. Per language.

Roll out — staged

12

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 ↗.

Submit for review

13

Click Review release → Start rollout to Production. Confirm. Status moves to In review.

Timing:

  • 1–7 days for first submissions (longer than Apple).
  • ~24 hours for subsequent updates.
  • Can stretch longer for new accounts or unusual content.

You'll receive an email when status changes. Watch in Publishing overview.

Common rejection reasons (first submissions)

14
  • Data Safety mismatch — declared data collection doesn't match what the app actually does. Most common rejection.
  • Target SDK too old — Google bumps the floor every year. Current target SDK requirements ↗.
  • Sensitive permission misuse — using SMS, Call Log, Accessibility, or Background Location permissions without declared use case justification. Permissions policy ↗.
  • Missing privacy policy URL — required for any app that handles user data. Must be reachable and specific.
  • App impersonation — icon, name, or graphics look too much like an existing app. Easy to fix; design something distinctive.

Full policy: Developer Program Policies ↗.

The Closed/Open testing tracks are valuable. Before Production, send the same build through Closed testing (named groups, 1–7 day review). Catches policy issues before they affect your Production listing's reputation.

After approval

15
  • Live in Play Store within minutes of approval (faster CDN than Apple).
  • Future updates use the re-upload flow — these metadata steps mostly don't repeat.
  • Watch crash rates in Play Console → Android Vitals ↗.
  • Respond to reviews under Ratings & reviews.

Official references

What's next