Day 5 of 5

Build and Deploy

Today you will sign your app, build release APKs and IPAs, and configure app metadata. Flutter compiles to native ARM code — the final build is a real native app.

bash
# Build release Android APK
flutter build apk --release
# or split by ABI (smaller files):
flutter build apk --split-per-abi

# Build Android App Bundle (required for Play Store)
flutter build appbundle --release

# Build iOS (requires Mac + Xcode)
flutter build ios --release
yaml
# pubspec.yaml — app identity
name: my_app
description: A new Flutter project.
version: 1.0.0+1   # version+buildNumber

flutter:
  uses-material-design: true
  assets:
    - assets/images/
  fonts:
    - family: DM Sans
      fonts:
        - asset: assets/fonts/DMSans-Regular.ttf
bash
# Build and upload to Firebase App Distribution (for testing)
flutter pub add --dev firebase_app_distribution
flutter build apk --release
firebase appdistribution:distribute build/app/outputs/flutter-apk/app-release.apk \
  --app YOUR_APP_ID \
  --groups "testers"
Tip: Use flutter build --obfuscate --split-debug-info=./debug-info to shrink and protect your release binary.

Exercise: Publish to the Play Store

  1. Run flutter build appbundle --release
  2. Open Google Play Console and create a new app
  3. Upload the .aab file to Internal Testing track
  4. Fill in store listing: icon, screenshots, description
  5. Promote to Production after testing

Day 5 Summary

Finished this lesson?