Prerequisites Before Publishing
Before starting the Play Store submission process, make sure you have:
- ✅Finished, tested Flutter app — Test on real physical devices, not just emulators.
- ✅Google Play Developer Account — One-time $25 USD registration at play.google.com/console
- ✅App icon (512×512px PNG) — No alpha/transparency. Required for Play Store listing.
- ✅Screenshots — Minimum 2 phone screenshots. Recommended: 4–8 at 1080×1920px or 1080×2160px.
- ✅Short & full description — 80 character short description, up to 4,000 character full description.
- ✅Privacy Policy URL — Required for all apps. Can be a simple Google Doc or hosted page.
Step 1 — Generate a Release Keystore
Your release keystore is the cryptographic key that signs your app and proves it came from you. Keep this file safe forever — losing it means you can never update your app on the Play Store.
Step 2 — Configure App Signing in Flutter
Create a file named key.properties in the android/ folder of your Flutter project:
Then update android/app/build.gradle to reference this file for release builds. This tells Flutter to sign your release APK/AAB automatically.
Step 3 — Build the Release App Bundle (AAB)
Google Play now requires App Bundles (.aab) instead of APKs. Build yours with:
Your AAB will be generated at: build/app/outputs/bundle/release/app-release.aab
flutter build appbundle --release --obfuscate --split-debug-info=build/debug-info to obfuscate your Dart code, protecting your intellectual property.Step 4 — Set Up Google Play Console
Create New App
Log in to play.google.com/console → "Create app" → Enter app name, default language, app/game type, and free/paid status.
Complete Dashboard Tasks
Play Console shows a "Set up your app" checklist. Complete all required sections: testing, content rating, data safety, target audience, and app content.
Create Internal Testing Release
Before submitting to production, create an Internal Testing release and upload your AAB. Test with real testers to catch any issues.
Promote to Production
Once internal testing is confirmed working, promote to Production. You can do a staged rollout (e.g. 10% of users first) or full rollout.
Step 5 — Create the Store Listing
- 📝App title — Up to 50 characters. Include your primary keyword naturally (e.g. "QuickShop — Grocery Delivery App").
- 📝Short description — Up to 80 characters. This appears in search results. Make it benefit-focused.
- 📝Full description — Up to 4,000 characters. Include keywords, feature bullet points, and a call-to-action. The first 3 lines are most important.
- 🖼️Screenshots — 2–8 screenshots required. Show real app UI. Do not use rendered phone frames — Google may reject these.
- 🖼️Feature graphic — 1024×500px. Appears at the top of your Play Store listing. Keep it clean and branded.
- 🏷️App icon — 512×512px PNG, no alpha channel. Rounded corners are added automatically by Google.
Step 6 — Submit for Review
Once all required sections are complete, click "Send for review". Google will review your app — typically within 1–3 days for new apps. You'll receive an email when approved or if there are issues.
Common Rejection Reasons & How to Avoid Them
- ❌Missing Privacy Policy — Required for all apps. Link it in the Play Console under "App content". A simple page on your website is sufficient.
- ❌Misleading app description — Your description must accurately describe what the app does. Don't promise features that aren't in the app.
- ❌Permissions not justified — If your app requests location, camera, or contacts, you must explain why in the Data Safety section.
- ❌App crashes on launch — Google tests apps on multiple devices. Make sure your Flutter app launches and runs without crashes on various Android versions (test on Android 7+).
- ❌Incomplete store listing — Missing screenshots, no icon, or incomplete descriptions will cause rejection. Fill in every field.
- ❌Impersonation — App name, icon, or screenshots that resemble well-known brands will be rejected for trademark infringement.
Don't Want to Deal with All This?
We handle the entire Play Store publishing process for you — included free with every app we build.
Build + Publish My App from $49