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 the folders under “build/app/intermediates/merged_native_libs/productionRelease/out/lib”.
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:
- Install and open the Apple Transport macOS app. Drag and drop the build/ios/ipa/*.ipa app bundle into the app.
- Or upload the app bundle from the command line by running:
- Or open build/ios/archive/MyApp.xcarchive in Xcode.
- AppStore Connect : Missing compliance
Test flight
Tester can redeem with a code sended by the registered email and download on any devices.
Refs.
- Android/iOS obfuscation
- https://stackoverflow.com/questions/62568757/playstore-error-app-bundle-contains-native-code-and-youve-not-uploaded-debug
- https://support.google.com/googleplay/android-developer/answer/9848633?hl=en#zippy=%2Cupload-files-using-play-console
- https://yagom.net/forums/topic/%EC%95%B1-%EC%82%AC%EC%9D%B4%EC%A6%88-%EC%A4%84%EC%9D%B4%EA%B8%B0/
- iPad multitasking issue - Transporter
- Alpha channel remove
- Missing compliance