Vibe code to app stores
Flutter
2 min read
These guides walk through the full process of publishing a vibe-coded Flutter app to the Google Play Store and the Apple App Store — covering Flutter SDK setup, signing, and store submission.
Lunadeck automates most of this pipeline (framework detection, builds, signing, and store upload), but these guides are useful if you want to understand what's happening under the hood, build locally before connecting to Lunadeck, or troubleshoot issues with your project.
What is Flutter?
Flutter apps are written in Dart and use Flutter's own rendering engine — they don't render native platform widgets, but they look and feel polished on both Android and iOS because Flutter draws every pixel itself. Flutter compiles to native ARM code, so performance is excellent.
The build outputs Lunadeck and these guides target are:
- Android: an App Bundle (
.aab) for Google Play, built withflutter build appbundle --release - iOS: an archive (
.xcarchive) exported to an.ipa, built withflutter build ipa
Guides by operating system
| Platform | Stores covered | Status |
|---|---|---|
| Android on Linux | Google Play | Available |
| Android on Windows | Google Play | Available |
| Android & iOS on macOS | Google Play + App Store | Available |
iOS requires macOS. Building for the App Store is only possible on a Mac — Apple's toolchain (Xcode, codesigning, the iOS SDK) is macOS-only.
What you'll need
- Flutter SDK 3.16 or newer
- Java JDK 17 and Android Studio (Android builds)
- Xcode 15 or newer (iOS builds, macOS only)
- A Google Play Developer account ($25 one-time) to publish Android apps
- An Apple Developer Program membership ($99/year) to publish iOS apps
- At least 10 GB of free disk space (more on macOS if building for both platforms)
Identifying a Flutter project
A Flutter project has:
pubspec.yamlat the root — the project manifest (name, version, dependencies)lib/main.dart— the app entry pointandroid/and/orios/directories containing the native project shells
If your AI-generated project has these files, you have a Flutter project and these guides apply.