Welcome to Izz — practical tech reviews, gadget picks & buying guides.

Learn more

How to Prepare a Flutter App for Google Play Store in 2026

Updated: September 2026

Getting a Flutter app to compile is not the same as getting it ready for Google Play.

A Play Store release needs a correct Android target API level, release signing, versioning, an Android App Bundle, policy disclosures, store assets, testing and a final production check.

This guide covers the practical release path for a Flutter Android app in 2026.

2026 Requirement to Know First

Starting August 31, 2026, new Android apps and app updates submitted to Google Play must target Android 16 / API level 36 or higher.

Do not prepare a new release around an older target SDK and assume Play Console will accept it.

Flutter to Google Play: Release Checklist

Area What to Check
Target API Android 16 / API 36 or higher for new apps and updates in 2026
Versioning Correct version name and increasing version code
Signing Release upload key configured correctly
Build format Signed AAB for Google Play
Permissions Only permissions your app genuinely needs
Privacy Privacy Policy and Data safety answers match real app behavior
Testing Release build tested on real hardware
Store listing Icon, screenshots, description and feature graphic ready

1. Make Sure Your App Targets the Required Android API

Google Play updates its target API requirements regularly.

For normal Android mobile apps, starting August 31, 2026:

  • New apps must target Android 16 / API 36 or higher.
  • App updates must target Android 16 / API 36 or higher.

Flutter projects often use Flutter-managed Android SDK values, so do not automatically hardcode random SDK versions into Gradle files unless the project actually needs an override.

Check your generated Android configuration and confirm the final release meets Google Play's current requirement.

2. Review Your Application ID

The Android application ID uniquely identifies the app on Google Play.

Example:

com.example.myapp

Choose it carefully before publishing.

Once an app is published under a package name, changing that application ID effectively creates a different app from Google Play's perspective.

3. Set the App Version Correctly

Flutter normally stores version information in pubspec.yaml.

Example:

version: 1.2.0+12

This represents:

  • 1.2.0 — user-facing version name
  • 12 — Android version code

The version code must increase for each new Play Store release.

4. Configure Release Signing

Google Play requires a signed release build.

Flutter's Android release workflow uses an upload key for the artifact you upload to Play Console.

Keep the private signing key secure.

Typical release configuration includes:

  • Keystore file
  • Key alias
  • Key password
  • Store password
  • key.properties

Never commit passwords or private keystore files to a public Git repository.

5. Understand Play App Signing

Google Play uses Play App Signing to manage the app signing key used for distribution to end users.

You typically upload an app bundle signed with your upload key, while Google handles the app signing key used for distributed APKs.

This separation means losing your upload key is different from losing the app signing key.

6. Review Android Permissions

Before release, inspect the permissions your app requests.

Do not keep permissions simply because a plugin once required them.

Ask:

  • Does the app still use this feature?
  • Does the permission appear in AndroidManifest.xml?
  • Does a third-party plugin add it automatically?
  • Does Google Play require a declaration for that permission?

Unnecessary permissions can create policy and user-trust problems.

7. Check Data Safety Before You Upload

Google Play's Data safety form should describe what the app actually collects and shares.

That includes data handled by third-party SDKs.

Examples can include:

  • Analytics SDKs
  • Advertising SDKs
  • Crash reporting
  • Location services
  • Authentication providers
  • AI or cloud APIs

Do not answer the Data safety form based only on code you personally wrote.

Dependencies matter too.

8. Add a Privacy Policy When Required

If the app handles user data, uses ads, analytics, accounts or sensitive permissions, make sure the Privacy Policy reflects the real behavior of the app.

The store listing and in-app privacy disclosures should not contradict each other.

9. Build a Release Android App Bundle

Google Play prefers the Android App Bundle format.

From the Flutter project root, run:

flutter build appbundle

A successful release normally produces:

build/app/outputs/bundle/release/app.aab

Flutter's current Android deployment documentation identifies the app bundle as the preferred Play Store release format.

10. Do Not Upload an Untested Release Build

A debug build can behave differently from a release build.

Before uploading, test the release configuration on real Android hardware.

Check:

  • App startup
  • Login
  • Network calls
  • Notifications
  • Deep links
  • Permissions
  • Purchases if used
  • Ads if used
  • Background behavior

11. Check Release-Only Problems

If debug works but the AAB build fails, investigate release-specific settings.

Common causes include:

  • Signing errors
  • Missing release environment variables
  • R8 shrinking issues
  • ProGuard configuration
  • Plugin release configuration
  • API keys restricted incorrectly

12. Review the Android Manifest

Before publishing, inspect the final Android manifest behavior.

Check:

  • Permissions
  • Activities
  • Intent filters
  • Deep links
  • Services
  • Receivers
  • Exported components

Plugins can add manifest entries automatically, so reviewing only your own manifest file may not reveal the complete final result.

13. Prepare the Store Listing

A technically correct AAB is not enough.

Prepare:

  • App name
  • Short description
  • Full description
  • High-resolution app icon
  • Feature graphic
  • Phone screenshots
  • Tablet screenshots when relevant
  • Privacy Policy URL

Do not use screenshots that show features the production app does not actually contain.

14. Complete the Content Rating

Google Play requires apps to have an appropriate content rating.

Answer the questionnaire based on the real app, including user-generated content, gambling themes, violence, communication features or other relevant content.

15. Configure Target Audience Correctly

Target audience choices can affect which Google Play policies apply.

Do not select children's age groups simply to maximize visibility unless the app is genuinely designed for those users and complies with the relevant requirements.

16. Check Ads and Monetization Declarations

If your app contains ads, disclose that accurately in Play Console.

Also confirm your ad SDK configuration complies with Google Play policies and any age-related restrictions that apply to the app.

17. Test Through Google Play, Not Only Locally

Use a Play testing track before production.

Available testing approaches can include:

  • Internal testing
  • Closed testing
  • Open testing

Installing from Google Play can expose problems that do not appear when you sideload a local APK.

18. Understand Closed Testing Requirements

Some personal developer accounts may need to satisfy Google Play testing requirements before production access is granted.

Requirements can depend on account status and current Play Console rules.

Check the production-access section of your own Play Console rather than relying on an old tutorial, because eligibility requirements can change.

19. Check Pre-Launch Reports

Google Play can test uploaded builds across devices and configurations.

Review pre-launch results for:

  • Crashes
  • ANRs
  • Layout problems
  • Compatibility issues
  • Security warnings

Do not ignore a serious pre-launch failure simply because the app works on your own phone.

20. Review App Access Requirements

If reviewers cannot access important parts of the app without signing in, provide valid review instructions or credentials where Play Console requires them.

An app that reviewers cannot properly evaluate can delay release.

21. Check for Policy-Sensitive SDKs

Third-party SDKs can create compliance problems even when your own code looks fine.

Review SDKs related to:

  • Advertising
  • Location
  • Analytics
  • Payments
  • AI services
  • User tracking

Developers remain responsible for app behavior introduced by dependencies.

22. Verify the Final AAB Before Upload

Release Sanity Check

  • Correct package name
  • Correct version
  • API 36+ target where required
  • Release signing works
  • AAB builds successfully
  • Release build launches
  • Critical features work
  • Permissions are justified
  • Privacy Policy is accurate
  • Data safety answers match app behavior
  • Store assets match the production app

Flutter Google Play Release Diagnostic Table

Problem Likely Area Check First
Play rejects target API Android SDK config Target API requirement
AAB will not build Gradle / signing First meaningful build error
Version already used Versioning Version code
Release crashes Release config Release-only dependencies and logs
Policy warning App or SDK behavior Exact Play Console policy message
Review cannot access app App access Review credentials/instructions

Final Release Workflow

  1. Confirm the app meets the current target API requirement.
  2. Update version name and version code.
  3. Review permissions and dependencies.
  4. Check signing.
  5. Build the AAB.
  6. Test the release build on real hardware.
  7. Prepare store listing assets.
  8. Complete Data safety and policy declarations.
  9. Upload to a testing track.
  10. Review Play Console warnings and pre-launch reports.
  11. Only then move toward production.

Final Thoughts

Publishing a Flutter app to Google Play is not just a build command.

The technical release, store listing and policy configuration all need to describe the same real application.

For 2026, one of the most important checks is the target API requirement: new apps and app updates for standard Android mobile devices must target Android 16 / API 36 or higher from August 31.

Prepare the release systematically, test the actual AAB workflow and treat Play Console warnings as part of development rather than paperwork after development is finished.

Continue the Flutter Android Series

Official Sources & Further Reading

Daddy Izz
Daddy Izz

Writing about tech, gadgets and buying guides at Izz.