Join CTO Moataz Soliman as he explores the potential impact poor performance can have on your bottom line. 👉 Register Today

ebook icon

App Development

General

How to Release Your Flutter App for iOS and Android

So you've built a Flutter app and you're ready to release it out into the world — congratulations! This guide will show you how to deploy your Flutter app on the App Store and Google Play.

How to release your Flutter app for iOS

0- Prerequisites

  • Have an Apple Developer account.
  • Make sure you adhere to Apple’s guidelines for releasing an app on the app store.
  • Prepare your app’s icons and launch screens.

1- Prepare for building

Before you can build and release your app on the App Store, you need to create a record for it using App Store Connect. But first, you need to register a unique bundle ID for your app. This can be done by logging into your Apple Developer account and following these steps:

  1. Open the App IDs page.
  2. Select + to create a new Bundle ID.
  3. Fill out the needed information: App Name and Explicit App ID.
  4. If your app needs specific services, select them then select Continue.
  5. Review the details and select Register to finish.

Now that we have a unique bundle ID, it’s time to create a record for your app on the App Store Connect.

  1. Log in to the App Store Connect.
  2. Select My Apps.
  3. Select + then New App.
  4. Fill in your app details and make sure iOS is selected, then select Create.
  5. From the sidebar, select App Information.
  6. In the "General Information" section, select the Bundle ID that you registered above.

2- Adjust Xcode project settings for release

You’ve set everything up from Apple’s side, and next you'll adjust your Xcode project’s settings to prepare your app for release. Go ahead and fire up Xcode.

  1. Open Runner.xcworkspace that is inside your app’s iOS folder.
  2. From the Xcode project navigator, select the Runner project.
  3. Then, select the Runner target in the main view sidebar.
  4. Go to the General tab.
  5. In the Identity section, fill out the information and make sure the Bundle Identifier is the one registered on App Store Connect.
  6. In the Signing & Capabilities section, make sure Automatically manage signing is checked and select your team.
  7. Go to the Deployment section of the Build Settings tab and set iOS Deployment Target to the minimum iOS version you support.
  8. Fill out the rest of the information as needed.
  9. Next, you'll update your app’s icon and launch image by selecting Assets.xcassets in the Runner folder from Xcode’s project navigator.

3- Build and upload your app

At this point, all the settings have been updated for release and there is a placeholder ready on App Store Connect, which means you can build and release.

  1. From the command line, run flutter build ipa to generate an Xcode build archive.
  2. You can also append --build-name and --build-number to override the default version and build numbers, respectively.
  3. Then go back to Xcode and open the newly created archive from your project's archive directory.
  4. Check the information then select Validate to build.
  5. Once the archive is successfully validated, select Distribute App.

Back on App Store Connect, check the status of your build from the Activities tab. Once it’s ready to release:

  1. Go to Pricing and Availability and fill out the required information.
  2. From the sidebar, select the status.
  3. Select Prepare for Submission and complete all required fields.
  4. Select Submit for Review.

That’s it! Your app will now be uploaded to the App Store. Apple will review your app before releasing and keep you updated on the status of your app.

How to release your Flutter app for Android

0- Prerequisites

  • Have an Android app ready for release.
  • Add a launcher icon and prepare all your app’s assets.

1- Prepare for release

Before you can publish your Flutter app to Google Play, you need to add a digital signature.

If you don’t already have a keystore, create one

On Mac, use the following command:

//keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

On Windows, use the following command:

keytool -genkey -v -keystore c:/Users/USER_NAME/key.jks -storetype JKS -keyalg RSA -keysize 2048 -
validity 10000 -alias key

Create a file named /android/key.properties that will reference your keystore, it will look like this:

storePassword= keyPassword= keyAlias=keystoreFile=/key.jks>

Configure signing in Gradle

You will find your Gradle file at /android/app/build.gradle. Start editing and follow these steps:

Replace this block:

android {

With the keystore information that we just created:

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
	if (keystorePropertiesFile.exists()) {
		keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
	}

android {

Then, replace this block:

content_copy
buildTypes {
	release {
		// TODO: Add your own signing config for the release build.
		// Signing with the debug keys for now,
		// so `flutter run --release` works.signingConfig signingConfigs.debug
	}
}

With the signing configuration:

content_copy
signingConfigs {
	release {
  	keyAlias keystoreProperties['keyAlias']
		keyPassword keystoreProperties['keyPassword']
		storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
		storePassword keystoreProperties['storePassword']
	}
}
buildTypes {
	release {
		signingConfig signingConfigs.release
	}
}

  • Then, go to the defaultConfig block.
  • Enter a final unique applicationId.
  • Give your app a versionName and versionCode.
  • Specify the minimum SDK API level that the app needs to run.

Your app’s Gradle file is now configured and your release builds will be signed automatically.

Review the app manifest and make sure everything is ready

The file AndroidManifest.xml will be located in /android/app/src/main. Open it and review the values and permissions you need before building.

2- Build and release the app

Now you'll build your app’s APK so it can be uploaded to the Google Play Store. Go to your command line and follow these steps:

  1. Enter cd
  2. Run flutter build apk

If everything goes well, you will have an APK ready at /build/app/outputs/apk/release/app.apk

3- Publish to the Google Play Store

Your app is ready! Next, follow this step-by-step guide to upload an APK to the Google Play Store.

Learn more:

Instabug empowers mobile teams to maintain industry-leading apps with mobile-focused, user-centric stability and performance monitoring.

Visit our sandbox or book a demo to see how Instabug can help your app

Seeing is Believing, Start Your 14-Day Free Trial

In less than a minute, integrate the Instabug SDK for iOS, Android, React Native, Xamarin, Cordova, Flutter, and Unity mobile apps