Deploy Android & iOS applications

February 20, 2023

Ready to deploy

1. Android

android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
        }
    }
}
flutter build appbundle --release lib/main_production.dart --flavor production
  • To generate key on mac silicon device, you need to download java first.
brew install java
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc
export CPPFLAGS="-I/opt/homebrew/opt/openjdk/include"
  • Missing Symbol files

Compress Compress the folders under “build/app/intermediates/merged_native_libs/productionRelease/out/lib”.

Symbol files are missing

2. iOS

flutter build ipa --release lib/main_production.dart --flavor production --obfuscate --split-debug-info --export-method ad-hoc

Upload the app bundle

Once the app bundle is created, upload it to App Store Connect by either:

  1. Install and open the Apple Transport macOS app. Drag and drop the build/ios/ipa/*.ipa app bundle into the app.
  2. Or upload the app bundle from the command line by running:
  3. Or open build/ios/archive/MyApp.xcarchive in Xcode.

Transport issues Alpha channel removed Request full screen Verify ok

  • AppStore Connect : Missing compliance

Missing compliance

Test flight

Tester can redeem with a code sended by the registered email and download on any devices.

Refs.

  1. Android/iOS obfuscation
  2. iPad multitasking issue - Transporter
  3. Alpha channel remove
  4. Missing compliance


Profile picture

Written by Yerin Hong who lives in London and works in the UK.