Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Flutter & AVD Manager

A desktop app designed for developers whose IDE doesn't support the Flutter extension yet. It centralizes Android emulator management and Flutter hot reload in one place — no more juggling terminals.

What it does

  • Start and stop Android Virtual Devices directly from a clean dashboard, with live boot status tracking
  • Launch or attach Flutter sessions on any device (emulator or USB) and get automatic hot reload on every save, with a "reload all" action across running sessions
  • Control the full flutter run session — hot reload, restart, optional build mode (--debug/--profile/--release) and flavors (--flavor), plus one-click DevTools, tree dumps, screenshots (with an open-file shortcut), detach, and more
  • Run project actions outside a session — flutter pub get, flutter pub upgrade, flutter clean with live output
  • Android native logs (adb logcat) in a separate tab for physical-device sessions, PID-tracked across hot restarts
  • Per-project Flutter SDK (FVM) — projects under .fvm/ use their pinned SDK; the effective version is shown per session
  • Desktop notifications, and optional auto-restart of a crashed session (max 3 attempts, off by default)
  • Monitor live logs in a built-in console — see exactly what Flutter is doing
  • Manage your projects — save project folders, pick a target device, choose a build context, and launch with one click
  • Auto-detects your Android SDK, ADB, Flutter, and AVD list — zero config required

TODO / Roadmap

  • Interactive Flutter Run Commands — the other stdin commands flutter run already supports (p debug paint, P hot restart, i widget inspector, o platform brightness, w/t/L tree dumps, s screenshot, d detach) exposed as buttons in the session UI, filtered by build mode.

  • DevTools Integration — the DevTools URL that flutter run prints on startup is parsed and shown with a one-click "Open DevTools" button for that session.

  • Build Mode Selection — pick --debug / --profile / --release when starting a session instead of always running in debug mode.

  • Flavor Management — optional flavor field (--flavor dev/prod) when launching a session; the last flavor per project is remembered.

  • Out-of-Session Project Actions — flutter pub get, flutter pub upgrade, and flutter clean as one-off buttons on a project, with a streaming output panel.

  • Physical Device Logs — for physical devices, an adb logcat tab filtered by the app's applicationId (re-resolved when the pid changes across hot restarts).

  • Flutter Attach — flutter attach -d <device> hooks a hot-reload/debug session onto an app already running on the device. Pick the project in the Devices view (Flam can't guess which project the app was built from).

  • Native Desktop Notifications — a system notification (build failure, session crash, device disconnected) is pushed even while the user is working in another window; toggle it in Settings.

  • Unified Multi-Project Dashboard — all sessions across projects in one view, with a global counter (sessions · devices) always visible in the sidebar, status/text filters, and a "reload all" action.

  • Per-Project Flutter SDK Version — projects using FVM (a .fvm/ folder) run with their pinned SDK binary; the effective flutter version is shown per session.

  • Restart on Crash — unexpected exits are flagged as crashed, surfaced with a one-click "Relaunch", and can auto-restart (max 3 consecutive attempts, re-armed once the session stays up 30s, off by default in Settings).

Screenshots

Devices

List and control your Android emulators and physical devices.

Devices

Projects

Save your Flutter projects and launch sessions in one click.

Projects

Sessions

Run sessions with live logs, hot reload, and hot restart — all in one view.

Sessions

Getting started

Prerequisites

  • Go 1.21+
  • Node.js 18+
  • Wails CLI — go install github.com/wailsapp/wails/v2/cmd/wails@latest
  • Android SDK with platform-tools, platform, and build-tools installed
  • Flutter in your PATH or set manually in Settings

Run in development

wails dev

Build for production

wails build

The executable will be in build/bin/.

Note: Wails platform scaffolds must be generated on the target OS. Run wails generate platform once per OS before building.

Cross-platform build & install

The Go backend and Wails app are cross-platform; only the platform scaffolding and install scripts are OS-specific. Build per OS, then run the matching script in build/bin/.

Windows

wails build
# install: build\bin\install.bat   (or install.ps1)
# uninstall: build\bin\uninstall.bat

Linux

wails generate platform   # once, creates build/linux/
wails build
chmod +x build/bin/install-linux.sh
./build/bin/install-linux.sh          # install
./build/bin/uninstall-linux.sh        # uninstall

Installs flutter-avd-manager to ~/.local/bin, plus a .desktop launcher and icon. Requires libwebkit2gtk-4.1-dev and gtk3 build deps at build time; for Debian/Ubuntu: sudo apt install libwebkit2gtk-4.1-dev build-essential.

macOS

wails generate platform   # once, creates build/darwin/ scaffold
wails build -platform darwin/amd64      # Intel
wails build -platform darwin/arm64      # Apple Silicon
./build/bin/install-macos.sh            # copies the .app into /Applications
./build/bin/uninstall-macos.sh

macOS note: the produced .app is unsigned, so first launch may be blocked by Gatekeeper. Run xattr -dr com.apple.quarantine "/Applications/Flutter AVD Manager.app" or right-click → Open once. Ad-hoc signing (codesign --force --deep -s - "Flutter AVD Manager.app") avoids this.

Settings

On first launch, the app detects your SDK tools automatically. If something is missing, the Settings screen lets you point to the correct paths manually.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages