Flutter facts and checks on every build
Free, Pro and Team (every plan with an account)
A tester says the app is slow, or that it closes as soon as they open it. Often the build was a debug or profile build that someone shared by mistake. Nobody checks the build mode at the moment a build is shared.
AppForShare reads it from the build itself. Every Flutter build you upload shows a Flutter card on its build page, and the store readiness check adds a line when the build is not what your users will get.
Example
Notes 1.8.0 (61), Android
- Build modeProfile
- DartRead from the engine
- ObfuscationHint: no Flutter class names found
- ReadinessProfile build sent to testers
Made for
- Flutter teams that share builds with QA, clients or beta testers
- Developers who build on Codemagic, GitHub Actions or a laptop and want a check before testers install
What it ends
- Testers reporting a slow app that was a debug build
- An iPhone debug build that quits when opened from the home screen
- Not knowing which Flutter version a build was made with
How it works
Step 1
Upload as usual
Upload the .ipa, .apk or .aab from the dashboard, the CLI, CI or Connect Codemagic.
Step 2
Read the Flutter card
The build page shows the build mode, the Flutter engine revision (iOS) or the Dart version in the engine (Android), the obfuscation hint and the Impeller flag when the app sets it.
Step 3
Fix what the check finds
The readiness check names a debug or profile build, an x86_64 only APK, or a release build signed with the debug key, with the fix.
Readiness lines for Flutter
A Flutter debug build gets a line before testers install it; on iOS a debug build does not open from the home screen since iOS 14. A profile build gets a line too, since it is not what users get. An APK with x86_64 code only gets a line for any stack. The existing check for a release build signed with the debug key adds a Flutter hint: add signingConfigs in android/app/build.gradle.kts.
What changed between two builds also says when the Flutter version changed.
In the CLI and AI tools
appforshare info prints the same Flutter facts, and the MCP server's build_info tool returns them to your AI coding assistant, so a pipeline or an agent can see the build mode before it shares a build.
Good to know
- The obfuscation line is a hint: it says no Flutter class names were found in the compiled code. It is not proof that the build is obfuscated.
- The markers were checked against Flutter's sources, not yet against many real builds. Tell us if a line looks wrong for your build.
- The readiness check is guidance, not a promise of approval.
- Guest uploads without an account get no readiness check.
Questions
- Does it need an SDK or a change to my app?
- No. AppForShare reads the uploaded build. Nothing goes into your app.
- Which plan do I need?
- Every plan with an account, Free included.
- Does it work with builds from Codemagic?
- Yes. It reads the file, wherever it was built.
Read next
Try it on your own app
Free account in a minute. Pro starts with a 7 day free trial.
More features
- Builds on GitHub Actions
- Flutter builds on GitHub Actions
- Connect Expo (EAS builds)
- Connect Codemagic
- Send store builds to TestFlight and Google Play
- TestFlight groups and beta review on send
- TestFlight feedback in your inbox
- iOS device registration
- Hands free device setup
- Store listing editor
- App Store submission
- Google Play releases
- TestFlight tester sync
- Tester app with notifications
- Tester groups and status
- Join links for testers
- Beta and Live channels
- Build history page
- Tasks and activity feed
- Feedback to Linear and Jira
- Release checklist, approvals and blockers
- Release page per version
- Install link controls
- Several links per build
- Retire a test build
- TestFlight and APK in one link
- Install page in 13 languages
- In-app update check
- .aab uploads
- MCP server for AI tools
- Tester feedback with screenshots
- In-app feedback link
- AI test plan for each build
- Diawi compatible upload API
- Remember my iPhone
- Install help and why it failed
- Email the install link
- Custom channel address
- Verified publisher
- Daily install email
- Zipped .app upload