This guide provides a step-by-step walkthrough of releasing a Flutter app to the Play Store, App Store, TestFlight, and Preliminaries. https://bit.ly/3iNs9N8
1. We are driven to
solve digital challenges.
Flutter Android / iOS Build Preparation
2. List of Topics ● Android build Preparation
● iOS build Preparation
Page - 2 of 40
3. Android
build
Preparation
Hardware requirements
● A 64-bit environment is required for Android 2.3.x
(Gingerbread) and higher versions.
● At least 250GB of free disk space to check out the code and an
extra 150 GB to build it.
● At least 16 GB of available RAM is required, but Google
recommends 64 GB.
The build process involves many tools and processes that convert
your project into an Android App Bundle (AAB).
AAB create via .keystore or .jks(java KeyStore). Once created
bundle we need to one play store account. It will cost around $25
lifetime.
Page - 3 of 40
4. Sign the apk or
app bundle
How to sign the apk or app bundle created using flutter ?
To publish your app on Play Store, you need to give your app a
digital signature.
step 1 : Create a new keystore file ; if you have an existing
keystore , skip this step
● Run command in your terminal for linux/mac
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
● Fill in the required info inside the terminal
Page - 4 of 40
5. Sign the apk or
app bundle Step 2: Modify your build.gradle(app) file
signingConfigs {
release {
storeFile file("<path-to-keys.jks>")
storePassword "********"
keyAlias "<key-alias>"
keyPassword "********"
}
}
Page - 5 of 40
6. Sign the apk or
app bundle
step 3 : how to create APK file or Android App Bundle using
flutter ?
How to build an android app bundle (aab) using flutter ?
Running flutter build defaults to a release build
flutter build appbundle
Note : release bundle for your app is created at
/build/app/outputs/bundle/release/app.aab
How to build apk file using flutter ?
flutter build apk
How Many App Provider Store in market?
Page - 6 of 40
7. List Of Top App
Provider Store
1. Google Play Store. The Google Play Store, which
hosts movies and other content as well as apps, was
one of the first mobile app stores. ...
2. Apple App Store. ...
3. Samsung Galaxy Apps. ...
4. LG SmartWorld. ...
5. Huawei App Store. ...
6. Sony Apps. ...
7. Amazon Appstore. ...
8. Aptoide.
Let’s create new account play store
Page - 7 of 40
9. Create new
Play Console
Developer
Account
3) To get started, choose an account type. You can choose as per
your requirements. And fill all the details and make payment of $25
Page - 9 of 40
10. Create new
Play Console
App
4) Once payment done, Need to create an app, As per the below
image blue box button.
5) Fill the all App details and click on create button
Page - 10 of 40
11. List of Apps 6) Once app created, Click (1) all apps and Click your (2) newly
created app(Sample app) row.
Page - 11 of 40
12. App Dashboard
- Start testing
now
While you're getting set up, the Dashboard shows you what you
need to do to get your app up and running. This includes
recommendations on how to manage, test, and promote your app.
Once you've completed a task, come back here to explore what else
you can do.
1) Start testing now
● Release your app early for internal testing without review
● Share your app with up to 100 internal testers to identify issues
and get early feedback
● Select testers
Page - 12 of 40
13. App Dashboard
- Set up your
app
2) Set up your app
Provide information about your app and set up your store listing
Let us know about the content of your app, and manage how it is
organized and presented on Google Play
LET US KNOW ABOUT THE CONTENT OF YOUR APP
Set privacy policy News apps
App access
COVID-19 contact tracing
and status apps
Ads Data safety
Content rating Government apps
Target audience
Page - 13 of 40
14. App Dashboard
- Release
your app
3) Release your app
Test your app with a larger group of testers that you control
With closed testing, you can test your app with larger groups of
testers. You can control access using email addresses or Google
Groups.
SET UP YOUR CLOSED TEST TRACK
CREATE AND ROLL OUT A RELEASE
Select countries and regions
Select testers
Create a new release
Review and roll out the release
Page - 14 of 40
15. iOS build
Preparation
Xcode system requirements:
https://developer.apple.com/support/xcode/
Image result for ios build The Xcode build system manages the tools
that transform your code and resource files into a finished app.
When you tell Xcode to build your project, the build system analyzes
your files and uses your project settings to assemble the set of tasks
to perform. Apple developer account cost $100 (per year)
Preliminaries
Xcode is required to build and release your app. You must use a
device running macOS to follow this guide.
Before beginning the process of releasing your app, ensure that it
meets Apple’s App Review Guidelines.
In order to publish your app to the App Store, you must first enroll in
the Apple Developer Program. You can read more about the various
membership options in Apple’s Choosing a Membership guide.
Page - 15 of 40
16. Register App
Store
Register your app on App Store Connect
Manage your app’s life cycle on App Store Connect (formerly iTunes
Connect). You define your app name and description, add
screenshots, set pricing, and manage releases to the App Store and
TestFlight.
Registering your app involves two steps: registering a unique Bundle
ID, and creating an application record on App Store Connect.
For a detailed overview of App Store Connect, see the App Store
Connect guide.
Page - 16 of 40
17. Register a
Bundle ID
Every iOS application is associated with a Bundle ID, a unique
identifier registered with Apple. To register a Bundle ID for your
app, follow these steps:
1. Open the App IDs page of your developer account.
2. Click + to create a new Bundle ID.
3. Enter an app name, select Explicit App ID, and enter an ID.
4. Select the services your app uses, then click Continue.
5. On the next page, confirm the details and click Register to
register your Bundle ID.
Page - 17 of 40
18. Register a
Bundle ID
Register a new identifier
https://developer.apple.com/account/resources/identifi
ers/add/bundleId
Page - 18 of 40
23. iOS build
provisioning
profile
What is a provisioning profile & code signing in iOS?
Apple Developer Program membership is required to request,
download, and use signing certificates issued by Apple.
iOS Distribution Certificate (in-house, internal-use apps)
Users will no longer be able to run apps that have been signed with
this certificate. You must distribute a new version of your app that is
signed with a new certificate.
Developer ID Installer Certificate (Mac applications)
If your certificate expires, users can no longer launch installer
packages for your Mac applications that were signed with this
certificate. Previously installed apps will continue to run however
new installations won't be possible until you have re-signed your
installer package with a valid Developer ID Installer certificate. If
your certificate is revoked, users will no longer be able to install
applications that have been signed with this certificate.
Page - 23 of 40
24. iOS build
provisioning
profile
Ad-Hoc certificate?
The Ad-Hoc certificate allows you to build your app to run on a
predetermined list of devices. There are a couple big caveats
though: You need the UDID of every device you want the app to run
on. The user needs to install the provisioning profile for the app as
well as the device manually.
Page - 24 of 40
28. App Store
create app
Create an application record on App Store Connect
Register your app on App Store Connect:
1. Open App Store Connect in your browser.
2. On the App Store Connect landing page, click My Apps.
3. Click + in the top-left corner of the My Apps page, then select
New App.
4. Fill in your app details in the form that appears. In the
Platforms section, ensure that iOS is checked. Since Flutter
does not currently support tvOS, leave that checkbox
unchecked. Click Create.
5. Navigate to the application details for your app and select App
Information from the sidebar.
6. In the General Information section, select the Bundle ID you
registered in the preceding step.
For a detailed overview, see Add an app to your account.
Page - 28 of 40
29. Xcode project
settings
Review Xcode project settings
This step covers reviewing the most important settings in the Xcode
workspace. For detailed procedures and descriptions, see Prepare
for app distribution.
Navigate to your target’s settings in Xcode:
1. Open the default Xcode workspace in your project by running
open ios/Runner.xcworkspace in a terminal window from your
Flutter project directory.
2. To view your app’s settings, select the Runner target in the
Xcode navigator.
Page - 29 of 40
30. Xcode
important
settings
Verify the most important settings.
In the Identity section of the General tab:
Display Name
The display name of your app.
Bundle Identifier
The App ID you registered on App Store Connect.
Page - 30 of 40
31. Xcode
important
settings
In the Signing & Capabilities tab:
Automatically manage signing
Whether Xcode should automatically manage app signing and
provisioning. This is set true by default, which should be sufficient
for most apps. For more complex scenarios, see the Code Signing
Guide.
Team
Select the team associated with your registered Apple Developer
account. If required, select Add Account…, then update this setting.
In the Deployment section of the Build Settings tab:
iOS Deployment Target
The minimum iOS version that your app supports. Flutter supports
iOS 11 and later. If your app or plugins include Objective-C or Swift
code that makes use of APIs newer than iOS 11, update this setting
to the highest required version.
Page - 31 of 40
33. iOS build app
bundle
For a detailed overview of app signing, see Create, export, and
delete signing certificates.
Create an app bundle
Run flutter build ipa to produce an Xcode build archive (.xcarchive
file) in your project’s build/ios/archive/ directory and an App Store
app bundle (.ipa file) in build/ios/ipa.
Consider adding the --obfuscate and --split-debug-info flags to
obfuscate your Dart code to make it more difficult to reverse
engineer.
If you are not distributing to the App Store, you can optionally
choose a different export method by adding the option --export-
method ad-hoc, --export-method development or --export-method
enterprise.
Page - 33 of 40
34. Xcode iOS build
app bundle
Create an app bundle via Xcode
Open Terminal and go to iOS app project directory.
Run command cd .. to and go back flutter projects. Run flutter clean
and flutter pub get . Again Run cd iOS and Run pod install after
successful all pod install open your project in Xcode.
Start build Command + B, After successful build start to Archive
Page - 34 of 40
35. Xcode iOS build
app bundle
Once Archive successful, Follow below step to create iOS build
for
Page - 35 of 40
37. iOS build
Release
TestFlight
Release your app on TestFlight
TestFlight allows developers to push their apps to internal and
external testers. This optional step covers releasing your build on
TestFlight.
1. Navigate to the TestFlight tab of your app’s application details
page on App Store Connect.
2. Select Internal Testing in the sidebar.
3. Select the build to publish to testers, then click Save.
4. Add the email addresses of any internal testers. You can add
additional internal users in the Users and Roles page of App
Store Connect, available from the dropdown menu at the top
of the page.
For more details, see Distribute an app using TestFlight.
Page - 37 of 40
38. iOS build
Release App
Store
Release your app to the App Store
When you’re ready to release your app to the world, follow these steps to
submit your app for review and release to the App Store:
1. Select Pricing and Availability from the sidebar of your app’s
application details page on App Store Connect and complete the
required information.
2. Select the status from the sidebar. If this is the first release of this
app, its status is 1.0 Prepare for Submission. Complete all required
fields.
3. Click Submit for Review.
Apple notifies you when their app review process is complete. Your app is
released according to the instructions you specified in the Version Release
section.
For more details, see Distribute an app through the App Store.
Page - 38 of 40
39. Obfuscating
Dart code
Code obfuscation is the process of modifying an app’s binary to
make it harder for humans to understand. Obfuscation hides
function and class names in your compiled Dart code, making it
difficult for an attacker to reverse engineer your proprietary app.
The following list describes which platforms support the obfuscation
process described in this page:
Android/iOS/macOS (Supported)
Linux/Windows (Not yet supported.)
Web Obfuscation is not supported for web apps, but a web app can
be minified, which is similar. When you build a release version of a
Flutter web app, it is automatically minified. For more information,
see Build and release a web app.
Flutter’s code obfuscation, when supported, works only on a release
build.
Page - 39 of 40
40. Flutter
deployment
1. Build and release an Android app
2. Build and release an iOS app
3. Build and release a macOS app
4. Build and release a Linux app to the Snap Store
5. Build and release a Windows desktop app
6. Build and release a web app
Continuous delivery with Flutter (CI-CD)
Follow continuous delivery best practices with Flutter to make sure
your application is delivered to your beta testers and validated on a
frequent basis without resorting to manual workflows.
Page - 40 of 40
41. Thank You
9series Solutions Pvt. Ltd
Mobile: +1 (425) 504 6109
Skype/Hangouts: sales@9series.com
Latest on our blog: https://www.9series.com/blog/
Any Questions?