Getting Started with Flutter: Install, Your First App and Project Structure
A step-by-step guide from installing the Flutter SDK to running your first app and understanding the project structure, with tips that save you time at the start.
Building the app is half the job. This guide walks through signing, building APK and AAB, icon and name, and a release checklist for Myket, Cafe Bazaar and Google Play.

Your app works on the emulator; great. Now you need to get it to users. This guide walks through preparing an Android release, from signing to uploading to stores.
ir.example.myapp) is your app's unique identity and must not change after release.pubspec.yaml:version: 1.0.0+1The number before + is the display version (versionName) and the one after is the build number (versionCode). Every new release needs a higher versionCode.
Use the flutter_launcher_icons package to generate the icon in every size. Set the app's display name in android/app/src/main/AndroidManifest.xml (the android:label value).
An Android app must be signed with a digital key. Create it once:
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias uploadKeep the keystore file and its password somewhere safe and never put them in your code repository (git). If you lose them you cannot publish updates to the same app.
Then create android/key.properties with the key values and reference it from the signingConfigs section of android/app/build.gradle. key.properties must not be committed either.
flutter build apk --release # for Myket, Bazaar and direct download
flutter build appbundle --release # required format for Google PlayOutputs appear under build/app/outputs/. To reduce size you can build a separate APK per architecture:
flutter build apk --release --split-per-abiInstall the release build on a real phone; some bugs only show up in release (for example the internet permission, which must be declared in AndroidManifest.xml). Install the output of flutter build apk --release and try every main flow.
Read user reviews, enable crash reporting (such as Firebase Crashlytics) and ship updates with a higher versionCode.
Go through these eight steps carefully once and later releases take only a few minutes.
The FastFlutter VIP course takes you from zero to a published app, with direct support from the instructor.