All writing
TutorialOct 30, 2025 · 3 min

Deploying a Flutter App to Google Play in 2025: A Fast, Safe, End-to-End Guide

A concise, up-to-date deployment guide for Flutter apps: signing, building AAB, testing on Play tracks, policy checks, and publishing to Production.

KA
Khairul
Senior Software Engineer
Deploying a Flutter App to Google Play in 2025: A Fast, Safe, End-to-End Guide

1) Prerequisites

  • Play Console: Active developer account and app created.

  • Unique package name: Set once, cannot be changed later.

  • App signing: New apps use Play App Signing by default; upload an AAB, not an APK. Android Developers+1

  • Target/compile SDK: Target Android 15 (API 35) for new apps and updates submitted from Aug 31, 2025. Google Support

  • 16 KB page size: Required for submissions targeting Android 15+ from Nov 1, 2025. Plan your toolchain now. Android Developers+1

2) Project setup (Flutter side)

In pubspec.yaml:

name: your_app
version: 1.0.0+1   # increment the build number for each Play upload

In android/app/build.gradle (if you need manual overrides):

android {
  defaultConfig {
    applicationId "com.example.yourapp"
    minSdkVersion 21
    targetSdkVersion 35
    versionCode 1      // bump every release
    versionName "1.0.0"
  }
}

Signing with Play App Signing: create an upload key locally only if needed. Play stores the app signing key and generates optimized APKs from your AAB. Android Developers+1

3) Build a release AAB

flutter clean
flutter pub get
flutter build appbundle --release
# output: build/app/outputs/bundle/release/app-release.aab

Why AAB: New apps must publish with Android App Bundle; Play generates device-optimized APKs. Android Developers

4) 16 KB readiness (Android 15+)

Keep your stack current to avoid native alignment issues:

  • Flutter: latest stable

  • AGP: 8.5.1 or newer

  • Gradle: 8.5 or newer

  • NDK: r28 or newer
    Policy reference and rationale here. Android Developers+1

5) Upload to Play Console

Play Console → ReleasesInternal testingCreate new release → upload your .aab. Official upload steps here. Android Developers

Create testers list, roll out, and install via Play to validate real update flow before moving to Closed, Open, or Production.

6) Mandatory policy tasks to publish

Complete these before production:

  • App content: Data safety form, Ads declaration, Target audience and content. Google Support+1

  • Content rating: Fill out the IARC questionnaire to avoid “Unrated” blocks. Google Support

  • Store listing: Title, short description, full description, category, privacy policy URL, screenshots, icons.

  • Play App Signing: Confirm enrollment if not already done. Google Support

  • Play Integrity (recommended): Replace SafetyNet flows. Configure server checks with the Play Integrity API. Android Developers+1

7) Test tracks workflow (recommended)

  1. Internal testing: fast iteration with your team.

  2. Closed testing: wider QA group or country subset.

  3. Open testing: public beta if you need scale.

  4. Production: staged rollout to a percentage first, watch vitals and crashes, then ramp to 100%.

8) Common pitfalls and quick fixes

  • Build rejected for target API: set targetSdkVersion 35. Google Support

  • Uploaded APK instead of AAB: use AAB; Play requires it for new apps. Android Developers

  • Signing errors: verify you are using upload key locally and that Play App Signing is enabled. Google Support

  • Native alignment warnings on Android 15: update AGP/NDK/Flutter and rebuild; test on Android 15 and verify 16 KB alignment. Android Developers

  • Policy blocks: complete Data safety and Content rating pages fully. Google Support

9) Optional automation (CI/CD)

  • Use Play Developer Publishing API tools like Fastlane Supply to push AABs, changelogs, and track promotions from CI once manual setup is proven.

  • Keep a dedicated keystore for your upload key and store secrets in CI.

10) Final publish checklist

  • ✅ AAB builds and installs from a Play test track

  • ✅ Target SDK 35 and minSdk as needed

  • ✅ Play App Signing confirmed

  • ✅ Data safety, Content rating, Ads declaration complete

  • ✅ Store listing assets uploaded and localized where needed

  • ✅ Optional: Play Integrity integrated and verified

Next essay

Preparing Your Flutter Apps for Google Play’s 16KB Page Size Requirement

Starting November 2025, Flutter apps targeting Android 15+ must support 16KB memory pages. Learn what it means, how it affects your app, and how to prepare.