Flutter AirRunThe CLI-first wireless workflow for Flutter on Android. Pair, diagnose, connect, and run Flutter applications on Android devices without repeatedly reconnecting a USB cable.
EnglishOverviewFlutter AirRun simplifies Android wireless debugging for Flutter development. Instead of repeatedly finding ADB ports, copying IP addresses, reconnecting phones, and typing several commands, start one interactive tool:
Flutter AirRun combines:
Architecture
QR sessions are generated directly in TypeScript using secure random data from the runtime. Flutter AirRun no longer requires CMake or a platform-specific QR binary. Why CLI-first?The CLI provides:
The VS Code extension remains the installer, launcher, updater, and visual companion for the CLI. RequirementsYou need:
What the VSIX installsEach platform-specific VSIX contains one executable:
The QR generator is integrated into the CLI and extension. No additional QR binary is installed. Installation locations
On Windows, Flutter AirRun can add its installation directory to the user
Install a VSIXInstall the package matching your operating system and architecture:
Example:
Then reload VS Code:
First launchWhen the extension activates, it checks whether the AirRun CLI is installed and up to date. Select Install AirRun CLI, then open a terminal and run:
VS Code commands:
Recommended workflowInside a Flutter project:
Or open the interactive menu:
Android may change the wireless-debugging TCP port between sessions. AirRun tries to recover the current endpoint automatically using ADB and mDNS data. Interactive CLI
Menu:
CLI commands
Examples:
Pair with a QR codeRun:
On the Android phone:
Flutter AirRun generates the temporary service name and pairing secret locally. From VS Code, use:
Pair with a six-digit codeRun:
Then enter the address, pairing port, and six-digit code displayed by Android. Run wirelesslyOpen a terminal in the directory containing
Target a specific device:
Forward Flutter arguments:
Standard Flutter controls remain available:
VS Code companion
Diagnostics
Healthy output:
Running Troubleshooting
|
| Target | Standalone CLI | VSIX | Validation |
|---|---|---|---|
| Linux x64 | ✅ Built | ✅ Built | End-to-end workflow validated |
| Linux ARM64 | ✅ Built | 🚧 Pending | Hardware validation pending |
| Windows x64 | ✅ Built | 🚧 Pending | Windows validation pending |
| Windows ARM64 | ✅ Built | 🚧 Pending | Windows ARM64 validation pending |
| macOS Intel | ✅ Built | 🚧 Pending | macOS validation pending |
| macOS Apple Silicon | ✅ Built | 🚧 Pending | Apple Silicon validation pending |
The QR generator is platform-independent. New targets no longer require a separate native build.
Project structure
flutter-airrun/
├── apps/
│ ├── cli/
│ │ ├── src/
│ │ ├── scripts/
│ │ └── dist-bin/
│ └── vscode-extension/
│ ├── src/
│ ├── scripts/
│ └── resources/
├── packages/
│ └── core/
│ └── src/
│ └── wireless/
│ └── qrPairingSessionService.ts
└── artifacts/
Development
pnpm install
pnpm --filter @flutter-airrun/core build
pnpm --filter @flutter-airrun/cli build
pnpm --filter @flutter-airrun/cli build:executables
pnpm --filter flutter-airrun check
pnpm --filter flutter-airrun build
pnpm --filter flutter-airrun package:vsix -- linux-x64
Supported targets:
linux-x64
linux-arm64
win32-x64
win32-arm64
darwin-x64
darwin-arm64
Français
Présentation
Flutter AirRun simplifie le débogage sans fil Android pour le développement Flutter.
Au lieu de rechercher manuellement les ports ADB, recopier des adresses IP, reconnecter les appareils et répéter plusieurs commandes, lancez un seul outil :
airrun
Flutter AirRun réunit :
| Composant | Rôle |
|---|---|
| CLI autonome AirRun | Diagnostic, association, détection, connexion et flutter run |
| Extension VS Code | Installation, ouverture, mise à jour et gestion de la CLI |
| Bibliothèque Core partagée | Logique Flutter, ADB, mDNS, association et récupération |
| Générateur QR TypeScript intégré | Création locale des sessions QR sans binaire natif séparé |
Architecture
Core Flutter AirRun partagé
ADB · mDNS · Flutter · association QR
│
┌──────┴──────┐
│ │
CLI autonome Extension VS Code
airrun compagnon visuel
│ │
└──────┬──────┘
│
Débogage sans fil Android
Les sessions QR sont générées directement en TypeScript avec des données aléatoires sécurisées. Flutter AirRun ne dépend plus de CMake ni d’un binaire QR propre à chaque plateforme.
Pourquoi privilégier la CLI ?
La CLI apporte :
- une seule commande pour tout le parcours sans fil ;
- un menu interactif piloté au clavier ;
- la même expérience dans VS Code ou un autre terminal ;
- un accès direct aux journaux et à la sortie Flutter ;
- le hot reload et le hot restart habituels ;
- un exécutable autonome sans Node.js ni Bun après installation ;
- une base propre pour l’automatisation.
L’extension VS Code reste l’installateur, le lanceur, le gestionnaire de mises à jour et le compagnon visuel de la CLI.
Prérequis
Vous devez disposer de :
- Flutter accessible dans le
PATH; - Android SDK Platform Tools ;
adbaccessible dans lePATH;- un appareil Android avec le Débogage sans fil ;
- un ordinateur et un téléphone sur le même réseau local ;
- un projet Flutter contenant
pubspec.yaml; - Visual Studio Code uniquement pour utiliser l’extension.
La CLI installée est autonome. Node.js et Bun ne sont pas nécessaires après l’installation.
Ce que le VSIX installe
Chaque VSIX contient un seul exécutable :
Linux / macOS
└── airrun
Windows
└── airrun.exe
Aucun binaire QR séparé n’est installé.
Emplacements
| Plateforme | Fichiers de l’application | Commande du terminal |
|---|---|---|
| Linux | ~/.local/share/flutter-airrun/bin/ |
~/.local/bin/airrun |
| macOS | ~/Library/Application Support/Flutter AirRun/bin/ |
~/.local/bin/airrun |
| Windows | %LOCALAPPDATA%\FlutterAirRun\bin\ |
%LOCALAPPDATA%\FlutterAirRun\bin\airrun.exe |
Installer un VSIX
code --install-extension flutter-airrun-<version>-<cible>.vsix --force
Exemple :
code --install-extension flutter-airrun-0.1.0-linux-x64.vsix --force
Rechargez ensuite VS Code avec Developer: Reload Window.
Première activation
Choisissez Installer la CLI AirRun, puis lancez :
airrun
Commandes VS Code disponibles :
Flutter AirRun: Open AirRun CLI — Recommended
Flutter AirRun: Install AirRun CLI
Flutter AirRun: Check AirRun CLI
Flutter AirRun: Update AirRun CLI
Flutter AirRun: Uninstall AirRun CLI
Parcours recommandé
airrun doctor
airrun pair qr
airrun devices
airrun run
Ou :
airrun
Vérifier l’environnement
↓
Activer le débogage sans fil
↓
Associer par QR code ou code à six chiffres
↓
Vérifier les appareils
↓
Lancer l’application Flutter sans câble
CLI interactive
airrun
▶ Lancer l’application sans fil
▦ Associer un téléphone par QR code
# Associer un téléphone avec un code
✓ Vérifier l’environnement
◉ Afficher les appareils
≋ Vérifier le débogage sans fil
× Quitter
| Touche | Action |
|---|---|
↑ / ↓ |
Se déplacer dans le menu |
j / k |
Descendre ou monter |
Entrée |
Exécuter l’action sélectionnée |
1 à 7 |
Choisir directement une action |
Home / End |
Aller au premier ou dernier élément |
Échap |
Annuler |
Commandes
| Commande | Description |
|---|---|
airrun |
Ouvrir le menu interactif |
airrun doctor |
Vérifier Flutter, ADB, le générateur QR et le projet |
airrun devices |
Afficher les appareils visibles |
airrun status |
Vérifier mDNS et le débogage sans fil |
airrun pair qr |
Associer par QR code |
airrun pair code |
Associer avec un code à six chiffres |
airrun run |
Lancer le projet Flutter sans câble |
airrun run -d <device-id> |
Utiliser un appareil précis |
airrun run -- <arguments-flutter> |
Transmettre des arguments à Flutter |
airrun --help |
Afficher l’aide |
airrun --version |
Afficher la version |
Association par QR code
airrun pair qr
Sur le téléphone :
- ouvrez Paramètres ;
- ouvrez Options pour les développeurs ;
- ouvrez Débogage sans fil ;
- choisissez Associer l’appareil avec un QR code ;
- scannez le QR affiché ;
- attendez la confirmation.
Le nom de service et le secret temporaire sont générés localement.
Depuis VS Code :
Flutter AirRun: Pair Device with QR Code
Association avec un code
airrun pair code
Saisissez ensuite l’adresse, le port d’association et le code à six chiffres affichés par Android.
Lancer Flutter sans câble
airrun run
Appareil précis :
airrun run -d <device-id>
Arguments Flutter :
airrun run -- --debug
| Touche | Action |
|---|---|
r |
Hot reload |
R |
Hot restart |
q |
Arrêter l’application |
h |
Afficher l’aide Flutter |
Extension VS Code
| Action | Utilité |
|---|---|
| Open AirRun CLI — Recommended | Ouvrir la CLI dans le projet actif |
| Install AirRun CLI | Installer la CLI autonome |
| Check AirRun CLI | Vérifier la version et les chemins |
| Update AirRun CLI | Mettre à jour l’installation gérée |
| Uninstall AirRun CLI | Supprimer l’installation gérée |
| Lancer l’application sans fil | Lancer Flutter depuis l’extension |
| Associer par QR code | Ouvrir l’association visuelle |
| Associer avec un code | Utiliser un code à six chiffres |
| Vérifier l’environnement | Vérifier Flutter, ADB, Android et le projet |
| Afficher les appareils | Afficher les appareils détectés |
| Vérifier le débogage sans fil | Vérifier mDNS et la connexion |
| Vérifier le générateur QR | Valider le générateur TypeScript intégré |
Diagnostic
airrun doctor
Résultat sain :
✓ Flutter
✓ ADB
✓ Générateur QR TypeScript
✓ Projet Flutter
✓ Environnement Flutter AirRun prêt
Dépannage
airrun est introuvable
Linux ou macOS :
export PATH="$HOME/.local/bin:$PATH"
Ajoutez cette ligne au profil du terminal.
Sous Windows, utilisez Flutter AirRun: Check AirRun CLI, puis ajoutez le
dossier géré au PATH.
Aucun appareil n’est affiché
airrun doctor
airrun status
airrun devices
Vérifiez le réseau local, le débogage sans fil et adb devices.
Le téléphone est hors ligne
Désactivez puis réactivez Débogage sans fil, puis lancez :
airrun status
airrun devices
Flutter ne détecte pas le téléphone
adb devices
flutter devices
airrun doctor
Le QR code ne s’affiche pas
airrun doctor
airrun pair qr
Depuis VS Code :
Flutter AirRun: QR Generator Doctor
Consultez ensuite Output → Flutter AirRun.
Le dossier actuel n’est pas un projet Flutter
Ouvrez le dossier contenant pubspec.yaml, puis lancez :
airrun
Sécurité et confidentialité
- L’association s’effectue localement.
- AirRun utilise l’ADB installé sur la machine.
- Les codes et secrets QR temporaires sont traités localement.
- Les données aléatoires sont produites par l’environnement d’exécution.
- Aucun compte cloud AirRun n’est requis.
- L’extension n’utilise pas
sudo. - Désactivez le débogage sans fil lorsqu’il n’est pas utilisé.
État des plateformes
| Cible | CLI autonome | VSIX | Validation |
|---|---|---|---|
| Linux x64 | ✅ Générée | ✅ Généré | Parcours complet validé |
| Linux ARM64 | ✅ Générée | 🚧 À générer | Validation matérielle à faire |
| Windows x64 | ✅ Générée | 🚧 À générer | Validation Windows à faire |
| Windows ARM64 | ✅ Générée | 🚧 À générer | Validation Windows ARM64 à faire |
| macOS Intel | ✅ Générée | 🚧 À générer | Validation macOS à faire |
| macOS Apple Silicon | ✅ Générée | 🚧 À générer | Validation Apple Silicon à faire |
Le générateur QR est indépendant de la plateforme. Aucune compilation native séparée n’est désormais nécessaire.
Structure du projet
flutter-airrun/
├── apps/
│ ├── cli/
│ │ ├── src/
│ │ ├── scripts/
│ │ └── dist-bin/
│ └── vscode-extension/
│ ├── src/
│ ├── scripts/
│ └── resources/
├── packages/
│ └── core/
│ └── src/
│ └── wireless/
│ └── qrPairingSessionService.ts
└── artifacts/
Développement
pnpm install
pnpm --filter @flutter-airrun/core build
pnpm --filter @flutter-airrun/cli build
pnpm --filter @flutter-airrun/cli build:executables
pnpm --filter flutter-airrun check
pnpm --filter flutter-airrun build
pnpm --filter flutter-airrun package:vsix -- linux-x64
Cibles :
linux-x64
linux-arm64
win32-x64
win32-arm64
darwin-x64
darwin-arm64
Author / Auteur
Henry GOSSOU
- GitHub:
github.com/Hen17Ry - LinkedIn:
linkedin.com/in/henrygossou
License / Licence
Flutter AirRun is distributed under the MIT License.
Flutter AirRun est distribué sous licence MIT.