


How to Automate Flutter App Releases on Google Play Store with Fastlane
By:
Sunil Kumar Muduli
14 Dec 2025
Manually uploading APKs or AABs to the Play Store can be painful and error-prone, especially when you have multiple build variants, version bumps, and signing steps.
With Fastlane, you can automate all of that, directly from your terminal or CI/CD pipeline.
In this guide, we'll set up Fastlane for Flutter to automatically build, sign, and publish your app to the Google Play Store.

Prerequisites
Before starting, make sure you have:
Flutter installed
An Android app already published once manually
Access to the Google Play Developer account
Access to Google Cloud console for Google Android Developer API
Ruby installed (Fastlane runs on Ruby)
Setup Google Play API Access
Go to the Google Cloud Console of your project.
Go to APIs & Services and enable Google Play Android Developer API.
Then create a service account under IAM & Admin. Note the email address.
Under that service account, create a key of type JSON and download that key.
Go to the Google Play developer console of your app and add that service account created before. Grant that account Release Manager or Admin access to your app.
Install Fastlane
Run this in your terminal:
sudo gem install fastlane
Then navigate into your Flutter project’s android/ directory:
cd android fastlane init
Provide the json key path, which we have downloaded from GCP before.
Configure Fastlane
As our installation has completed, we need to set up the fastlane script for auto deplyment.
Open android/fastlane/Fastfile and inside android platform lanes, we will declare a new pipeline for deployment to internal tests.
default_platform(:android)
platform :android do desc "Deploy Internal Testing (Upload to play store)" lane :deploy_dev_internal do system('flutter pub get') system('flutter build appbundle lib/main_dev.dart --flavor=dev') // Replace with your flutter build appbundle command upload_to_play_store( track: 'internal', release_status: 'completed', metadata_path: './fastlane/metadata', json_key: './fastlane/gcp-project-key1234567890.json', //Replace with your json key path aab: '../build/app/outputs/bundle/devRelease/app-dev-release.aab', // Replace with your output file path skip_upload_apk: false, skip_upload_aab: false, skip_upload_metadata: true, skip_upload_changelogs: true, skip_upload_images: true, skip_upload_screenshots: true, track_promote_to: 'internal', track_promote_release_status: 'completed', validate_only: false, timeout: 300, changes_not_sent_for_review: false, rescue_changes_not_sent_for_review: true, in_app_update_priority: 0, ack_bundle_installation_warning: false ) end end
Test Your Fastlane Setup
Run:
cd android fastlane deploy
Fastlane will:
Build your Flutter app
Sign it with your key
Upload it to the Google Play Console to your desired track.
Conclusion
Integrating Fastlane into your Flutter workflow saves hours of repetitive work and prevents common release errors.
It's lightweight, battle-tested, and integrates easily with any CI/CD platform.
If you want even smoother releases, you can extend your lanes to:
Notify Slack/Discord
Upload changelogs
Tag git releases automatically
Once you set this up, shipping updates to the Play Store is literally a one-line command.
Frequently Asked Questions
1. Do I need a CI/CD pipeline to use Fastlane for Flutter app deployment?
No, Fastlane works both locally and in CI/CD pipelines. You can run Fastlane commands directly from your terminal, although pairing it with GitHub Actions, GitLab CI, or Bitrise makes Play Store publishing fully automated.
2. Is Fastlane safe for managing Play Store credentials and signing keys?
Yes, Fastlane supports secure credential handling through encrypted environment variables, service account JSON files, and tools like fastlane match. When configured properly, your signing keys and Play Store API access remain fully protected.
3. Can Fastlane automate versioning for Flutter apps before publishing to the Play Store?
Yes. Fastlane can automatically bump version codes, update build numbers, and generate changelogs before uploading your APK/AAB, ensuring every Play Store release follows proper versioning rules.
Manually uploading APKs or AABs to the Play Store can be painful and error-prone, especially when you have multiple build variants, version bumps, and signing steps.
With Fastlane, you can automate all of that, directly from your terminal or CI/CD pipeline.
In this guide, we'll set up Fastlane for Flutter to automatically build, sign, and publish your app to the Google Play Store.

Prerequisites
Before starting, make sure you have:
Flutter installed
An Android app already published once manually
Access to the Google Play Developer account
Access to Google Cloud console for Google Android Developer API
Ruby installed (Fastlane runs on Ruby)
Setup Google Play API Access
Go to the Google Cloud Console of your project.
Go to APIs & Services and enable Google Play Android Developer API.
Then create a service account under IAM & Admin. Note the email address.
Under that service account, create a key of type JSON and download that key.
Go to the Google Play developer console of your app and add that service account created before. Grant that account Release Manager or Admin access to your app.
Install Fastlane
Run this in your terminal:
sudo gem install fastlane
Then navigate into your Flutter project’s android/ directory:
cd android fastlane init
Provide the json key path, which we have downloaded from GCP before.
Configure Fastlane
As our installation has completed, we need to set up the fastlane script for auto deplyment.
Open android/fastlane/Fastfile and inside android platform lanes, we will declare a new pipeline for deployment to internal tests.
default_platform(:android)
platform :android do desc "Deploy Internal Testing (Upload to play store)" lane :deploy_dev_internal do system('flutter pub get') system('flutter build appbundle lib/main_dev.dart --flavor=dev') // Replace with your flutter build appbundle command upload_to_play_store( track: 'internal', release_status: 'completed', metadata_path: './fastlane/metadata', json_key: './fastlane/gcp-project-key1234567890.json', //Replace with your json key path aab: '../build/app/outputs/bundle/devRelease/app-dev-release.aab', // Replace with your output file path skip_upload_apk: false, skip_upload_aab: false, skip_upload_metadata: true, skip_upload_changelogs: true, skip_upload_images: true, skip_upload_screenshots: true, track_promote_to: 'internal', track_promote_release_status: 'completed', validate_only: false, timeout: 300, changes_not_sent_for_review: false, rescue_changes_not_sent_for_review: true, in_app_update_priority: 0, ack_bundle_installation_warning: false ) end end
Test Your Fastlane Setup
Run:
cd android fastlane deploy
Fastlane will:
Build your Flutter app
Sign it with your key
Upload it to the Google Play Console to your desired track.
Conclusion
Integrating Fastlane into your Flutter workflow saves hours of repetitive work and prevents common release errors.
It's lightweight, battle-tested, and integrates easily with any CI/CD platform.
If you want even smoother releases, you can extend your lanes to:
Notify Slack/Discord
Upload changelogs
Tag git releases automatically
Once you set this up, shipping updates to the Play Store is literally a one-line command.
Frequently Asked Questions
1. Do I need a CI/CD pipeline to use Fastlane for Flutter app deployment?
No, Fastlane works both locally and in CI/CD pipelines. You can run Fastlane commands directly from your terminal, although pairing it with GitHub Actions, GitLab CI, or Bitrise makes Play Store publishing fully automated.
2. Is Fastlane safe for managing Play Store credentials and signing keys?
Yes, Fastlane supports secure credential handling through encrypted environment variables, service account JSON files, and tools like fastlane match. When configured properly, your signing keys and Play Store API access remain fully protected.
3. Can Fastlane automate versioning for Flutter apps before publishing to the Play Store?
Yes. Fastlane can automatically bump version codes, update build numbers, and generate changelogs before uploading your APK/AAB, ensuring every Play Store release follows proper versioning rules.
Manually uploading APKs or AABs to the Play Store can be painful and error-prone, especially when you have multiple build variants, version bumps, and signing steps.
With Fastlane, you can automate all of that, directly from your terminal or CI/CD pipeline.
In this guide, we'll set up Fastlane for Flutter to automatically build, sign, and publish your app to the Google Play Store.

Prerequisites
Before starting, make sure you have:
Flutter installed
An Android app already published once manually
Access to the Google Play Developer account
Access to Google Cloud console for Google Android Developer API
Ruby installed (Fastlane runs on Ruby)
Setup Google Play API Access
Go to the Google Cloud Console of your project.
Go to APIs & Services and enable Google Play Android Developer API.
Then create a service account under IAM & Admin. Note the email address.
Under that service account, create a key of type JSON and download that key.
Go to the Google Play developer console of your app and add that service account created before. Grant that account Release Manager or Admin access to your app.
Install Fastlane
Run this in your terminal:
sudo gem install fastlane
Then navigate into your Flutter project’s android/ directory:
cd android fastlane init
Provide the json key path, which we have downloaded from GCP before.
Configure Fastlane
As our installation has completed, we need to set up the fastlane script for auto deplyment.
Open android/fastlane/Fastfile and inside android platform lanes, we will declare a new pipeline for deployment to internal tests.
default_platform(:android)
platform :android do desc "Deploy Internal Testing (Upload to play store)" lane :deploy_dev_internal do system('flutter pub get') system('flutter build appbundle lib/main_dev.dart --flavor=dev') // Replace with your flutter build appbundle command upload_to_play_store( track: 'internal', release_status: 'completed', metadata_path: './fastlane/metadata', json_key: './fastlane/gcp-project-key1234567890.json', //Replace with your json key path aab: '../build/app/outputs/bundle/devRelease/app-dev-release.aab', // Replace with your output file path skip_upload_apk: false, skip_upload_aab: false, skip_upload_metadata: true, skip_upload_changelogs: true, skip_upload_images: true, skip_upload_screenshots: true, track_promote_to: 'internal', track_promote_release_status: 'completed', validate_only: false, timeout: 300, changes_not_sent_for_review: false, rescue_changes_not_sent_for_review: true, in_app_update_priority: 0, ack_bundle_installation_warning: false ) end end
Test Your Fastlane Setup
Run:
cd android fastlane deploy
Fastlane will:
Build your Flutter app
Sign it with your key
Upload it to the Google Play Console to your desired track.
Conclusion
Integrating Fastlane into your Flutter workflow saves hours of repetitive work and prevents common release errors.
It's lightweight, battle-tested, and integrates easily with any CI/CD platform.
If you want even smoother releases, you can extend your lanes to:
Notify Slack/Discord
Upload changelogs
Tag git releases automatically
Once you set this up, shipping updates to the Play Store is literally a one-line command.
Frequently Asked Questions
1. Do I need a CI/CD pipeline to use Fastlane for Flutter app deployment?
No, Fastlane works both locally and in CI/CD pipelines. You can run Fastlane commands directly from your terminal, although pairing it with GitHub Actions, GitLab CI, or Bitrise makes Play Store publishing fully automated.
2. Is Fastlane safe for managing Play Store credentials and signing keys?
Yes, Fastlane supports secure credential handling through encrypted environment variables, service account JSON files, and tools like fastlane match. When configured properly, your signing keys and Play Store API access remain fully protected.
3. Can Fastlane automate versioning for Flutter apps before publishing to the Play Store?
Yes. Fastlane can automatically bump version codes, update build numbers, and generate changelogs before uploading your APK/AAB, ensuring every Play Store release follows proper versioning rules.
Explore our services
Explore other blogs
Explore other blogs

let's get in touch
Have a Project idea?
Connect with us for a free consultation !
Confidentiality with NDA
Understanding the core business.
Brainstorm with our leaders
Daily & Weekly Updates
Super competitive pricing

let's get in touch
Have a Project idea?
Connect with us for a free consultation !
Confidentiality with NDA
Understanding the core business.
Brainstorm with our leaders
Daily & Weekly Updates
Super competitive pricing
DEFINITELY POSSIBLE
Our Services
Technologies
Crafted & maintained with ❤️ by our Smartees | Copyright © 2025 - Smartters Softwares PVT. LTD.
Our Services
Technologies
Created with ❤️ by our Smartees
Copyright © 2025 - Smartters Softwares PVT. LTD.












