How to build and share a Flutter IPA and APK for testing
Updated
To share a Flutter app with testers: run flutter build apk --release (output: build/app/outputs/flutter-apk/app-release.apk) and flutter build ipa --export-method ad-hoc (output: build/ios/ipa/). Upload each file to ipalinked.com and send the install links.
Android: build the APK
flutter build apk --release
The file is at build/app/outputs/flutter-apk/app-release.apk. It's a fat APK that installs on any device. For smaller files, flutter build apk --split-per-abi produces one APK per CPU type (most phones want app-arm64-v8a-release.apk).
Release builds are signed with the key configured in android/app/build.gradle; if you haven't set one up, Flutter's template signs release builds with the debug key, which is fine for testers.
iOS: build the IPA
- Make sure testers' devices are registered in your developer account and signing is set up in ios/Runner.xcworkspace.
- Run
flutter build ipa --export-method ad-hoc(useenterpriseordevelopmentif that's your account type). - The IPA lands in build/ios/ipa/.
Without --export-method, Flutter exports for the App Store, which won't install from a link. You can also open build/ios/archive/Runner.xcarchive in Xcode and export it from the Organizer.
Share both builds
- Upload app-release.apk and the .ipa at ipalinked.com.
- Send testers the link or QR code for their platform.
- Check a build first with the APK or IPA analyzer if something looks off.
Common issues
- “Unable to Install” on iPhone: the device isn't in the profile — see the fix.
- “App not installed” on Android: a copy signed with a different key is already installed; uninstall it first (more fixes).
- Huge APK: use
--split-per-abiand share the arm64 file.
Frequently asked questions
Where does flutter build apk put the file?
build/app/outputs/flutter-apk/app-release.apk inside your project.
How do I build an ad-hoc IPA with Flutter?
Run flutter build ipa --export-method ad-hoc; the IPA is written to build/ios/ipa/.
Can I build an iOS IPA on Windows?
No. Building and signing an IPA requires macOS with Xcode, either locally or on a cloud Mac or CI service.