Android app submission checklist
Google Play has its own gauntlet — the AAB format, a moving target-API deadline, the Data safety form, IARC ratings and, for new personal accounts, a 20-tester beta before you can even go live. Here's every step, with the exact specs and the fixes for the rejections that send apps back.
Last updated: July 2026
Start here: what makes Play different from the App Store
Every 'app submission checklist' you'll find is a static list someone wrote once and never opened again. The catch is that most of it doesn't apply to your build, so you end up guessing which of 130 items are relevant. This tool takes the opposite route: it reads your actual .apk or .aab — the manifest, the permissions, the target SDK — and hands back the ~12 checks that fail on that binary. The checklist below fills in everything a binary can't tell you: the store listing, the policy forms, the rollout.
Two things about Google Play trip up people coming from iOS. First, you publish an Android App Bundle (.aab), not an APK — mandatory for new apps since August 2021. Second, there's no annual fee: a single $25 registration covers you for life, versus Apple's $99 every year. Almost everything else is a different shape of the same idea — signing, privacy disclosures, a review queue.
Store listing assets: the exact dimensions
Get these wrong and the Console won't let you publish. These are the specs Google enforces, not rounded-off approximations:
| Asset | Spec | Notes |
|---|---|---|
| App icon | 512 × 512 px, 32-bit PNG, ≤ 1 MB | Don't pre-round the corners — Play applies its own mask on top. |
| Feature graphic | 1024 × 500 px, PNG or JPEG | Required to publish. Sits at the top of the listing and in promo slots. |
| Phone screenshots | 2–8, each side 320–3840 px | You need at least 4 (16:9 or 9:16) to be eligible for featuring. |
| Tablet screenshots | Up to 8 per size (7-inch, 10-inch) | Optional, but a large-screen listing looks empty on tablets and Chromebooks without them. |
| Promo video | A YouTube URL (optional) | Autoplays muted — the first 3 seconds decide, so skip the logo intro. |
Google Play graphic asset, screenshot & video specifications
Metadata and character limits
The text fields have hard caps, and a few carry policy risk if you abuse them:
| Field | Limit | Notes |
|---|---|---|
| App name | 30 characters | Keyword-stuffing the name is a policy violation now. One clear name. |
| Short description | 80 characters | Shown above the fold — this is the line that earns the 'Read more' tap. |
| Full description | 4,000 characters | No fake reviews, no competitor names, no emoji spam in the opening lines. |
| Category & tags | 1 category, up to 5 tags | The wrong category is a slow killer: you compete in the wrong charts. |
| Contact email | Required, public | Google sends policy notices here. A dead inbox means missed appeals. |
Target API level: the deadline that actually blocks uploads
This is the single most common reason an upload is rejected outright — and it's on a clock. Google requires new apps and updates to target a recent Android API level, and it raises the bar by one level roughly every 31 August.
Right now the floor is API 35 (Android 15), enforced since 31 August 2025. If your targetSdkVersion sits below it, the Play Console blocks the upload before a human ever looks.
| Requirement | Value | Enforced |
|---|---|---|
| Target API (new apps & updates) | API 35 / Android 15 | Since 31 Aug 2025 |
| Annual bump | One level, ~31 Aug each year | Plan for API 36 / Android 16 next |
| Publishing format | Android App Bundle (.aab) | Mandatory for new apps since Aug 2021 |
| Release build | android:debuggable not set to true | Blocked at upload |
Our .apk analyzer reads targetSdk, the debuggable flag and the cleartext-traffic setting straight from the manifest — so it tells you whether this specific build clears the current floor, instead of leaving you to read the Console error after a failed upload.
Google Play target API level requirements
The Data safety form: map it from your manifest
Since 20 July 2022, every app must complete the Data safety section, and a form that contradicts your app's real behaviour is a rejection — or worse, an enforcement action after launch.
The trap: the form asks about data collection, but your manifest declares permissions, and the two don't line up one-to-one. Here's how the permissions our analyzer already extracts usually translate into a declaration:
| Manifest permission | Data safety declaration it usually forces |
|---|---|
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION | Location → precise or approximate, plus the purpose and whether it's shared. |
READ_CONTACTS | Contacts collection. If you upload them anywhere, it's also 'shared'. |
CAMERA / RECORD_AUDIO | Photos and videos / Audio, if you store or transmit what's captured. |
READ_MEDIA_IMAGES / READ_MEDIA_VIDEO | The matching media type (Android 13+ split these out of READ_EXTERNAL_STORAGE). |
INTERNET + any analytics SDK | Almost always 'yes, data is collected'. A blank form with an analytics SDK is the classic mismatch. |
Google Play Data safety section guidance
The testing-track ladder (and the 20-tester rule)
You don't submit straight to production. Play has four tracks and you climb them in order:
- Internal testing — up to 100 testers by email, live within minutes. Use it to catch crashes before anyone else sees the build.
- Closed testing — a named tester list or Google Group. New personal accounts must run this with at least 20 testers opted in, continuously, for 14 days before production access unlocks.
- Open testing — a public beta anyone can join from a link. Optional, but it surfaces device-specific breakage the analyzer can't see: OEM skins, old GPUs, tiny screens.
- Production — the full rollout. Start with a staged 10–20% and watch Android vitals (crash rate, ANR) before pushing to 100%.
One more gate: the account itself costs a one-time $25 to register, and if you signed up as an individual after late 2023, that 20-testers-for-14-days closed test is mandatory before Google even shows you the production track.
Google Play testing requirements for new personal accounts
Rejection reasons → fixes, at a glance
Here after a rejection? Find your reason and jump to the fix:
| Rejection | Fix |
|---|---|
| Broken functionality — 'installs but doesn't load' | Usually a login wall the reviewer can't pass, or a cold-started backend. Ship demo credentials in the review notes and keep the server warm. |
| Target API level too low | Bump targetSdkVersion to 35 and re-test; the Console blocks the upload otherwise. |
| Data safety form mismatch | Reconcile every runtime permission and SDK against the form (see the mapping above). |
| Undisclosed sensitive permission | Remove it, or file a Permissions Declaration Form with a video showing the core-feature use. |
| Deceptive metadata / keyword stuffing | Strip competitor names and keyword lists from the app name and description. |
| Missing or unreachable privacy policy | Host a real policy at a stable URL, linked in the listing and inside the app. |
Got wording you don't recognise? Decode it against 17 real rejection patterns
Free interactive checklist — it remembers what you've ticked
Work through the store-listing and policy side here. It saves to your browser, so you can close the tab and come back to where you left off, and the print button gives you a clean PDF to hand a client. The deep, build-specific findings (privacy manifest, ATS, permission purpose strings, the full 58-item guideline audit) come from uploading your file.
That's the store side covered. For the parts that live inside the binary — and their fixes — the auditor reads them off your file directly.
Doing iOS too?
Most of what's above is Android-specific. The App Store has its own list: App Tracking Transparency, the privacy nutrition labels, a launch storyboard, and Apple's $99/year program.
Shipping to both stores? Run through the App Store submission checklist
FAQ
How much does it cost to publish an app on Google Play?
A one-time $25 registration fee for a Google Play developer account, and that's it — no yearly renewal, unlike Apple's $99/year. The $25 covers unlimited apps. You'll also set up a payment profile if you plan to sell anything or use in-app billing.
Do I have to upload an AAB instead of an APK?
Yes for new apps — Google Play has required the Android App Bundle (.aab) since August 2021. You still test locally with APKs, but the artifact you upload to the Console is an .aab, and Play generates optimised APKs per device from it.
What target API level does Google Play require in 2026?
New apps and updates must target API 35 (Android 15), enforced since 31 August 2025. Google raises the minimum by one level roughly every 31 August, so build against the latest SDK and plan for API 36 (Android 16) next. Our .apk analyzer reads your targetSdk and flags it if it's below the line.
Why do new Google Play accounts need 20 testers?
Since late 2023, accounts registered as an individual must run a closed test with at least 20 testers opted in for 14 continuous days before applying for production access. It's Google's spam filter for throwaway accounts. Organisation accounts are exempt.
What's the difference between this and the App Store checklist?
This one is Play-specific: AAB format, target-API deadlines, the Data safety form, IARC ratings and the 20-tester rule. The App Store checklist covers Apple's side — ATT, privacy nutrition labels, IAP and the $99/year program. Cross-platform teams usually need both.
Sources
- Google Play — target API level requirements
- Google Play — graphic assets, screenshots & video specs
- Google Play — Data safety section guidance
- Google Play — testing requirements for new personal accounts
- Google Play — content ratings (IARC)
- Android Developers — about Android App Bundles
- Google Play — register for a developer account ($25 fee)
Check your build before you submit
Run your .ipa or .apk through App Review Checker and catch these issues in seconds.
Check an app