The project
Why I built it
I moved my day-to-day development to a remote Linux machine. My Android phones, though, are plugged into my local workstation over USB, and my emulators run there too. The remote machine's adb — and the IDE running on it — simply can't see any of them.
The fix is to run the adb server locally, where the devices are, and open an SSH reverse tunnel so the remote's adb connects back through it to that local server. I had this working as a pile of shell scripts, but it was fiddly to start, easy to get wrong, and did nothing for emulators.
Remote.Adb turns that workflow into a single app — tunnel, emulator management, and device listing in one place. It's a cross-platform desktop app with a matching console, built on .NET 10 and Avalonia. Early but usable, and MIT licensed.
What it does
Tunnel, emulators, and devices in one place
SSH reverse tunnel
Opens the reverse tunnel so the remote host's adb reaches your local adb server. Detects when the local adb server drops and reconnects automatically, and can come up with the app at launch.
Emulator management
List, start, and stop your Android Virtual Devices — and create, edit, or delete them — without dropping to the command line.
Device listing
Shows the devices adb currently sees, refreshed live while the page is open. Connecting to a device over WiFi is on the roadmap.
Requirements
What you'll need
Run Remote.Adb on the machine your devices are plugged into — typically your local workstation — next to the adb server. It drives the tools you already have rather than replacing them.
- .NET 10 runtime — the builds are framework-dependent
- Android SDK with adb and emulator (found via ANDROID_HOME or your platform default)
- An OpenSSH client on your PATH
- Key-based SSH to the remote host that works non-interactively — the tunnel won't answer a password or passphrase prompt
Download
Grab a build for your platform
Browse the source on GitHub
Built with .NET 10 and Avalonia, with all logic in a shared core that the desktop and console front-ends both drive. MIT licensed — issues and pull requests welcome.
View on GitHub