Case study · Developer Tooling
Air Bridge
Wireless Android debugging without the command line
A desktop app that discovers devices on the network, connects ADB over Wi-Fi and installs builds by drag-and-drop.
- Electron
- Node.js
- ADB
- electron-builder
What it is
A desktop client that sits on top of the Android Debug Bridge. It finds handsets already in wireless-debugging mode, connects to them over Wi-Fi, reports what they are, and installs an APK when you drop one on the window.
The problem
Wireless debugging on Android is a sequence of terminal commands and an IP address that changes every time the device rejoins the network.
It is a small friction repeated many times a day, and it quietly excludes QA testers and designers who need a build on a device but do not live in a shell.
What we built
Three decisions that shaped it.
Discovery instead of typing
The app finds devices on the network that already have wireless debugging enabled, so nobody hunts for an IP.
The device, described
Brand, model, Android version and battery are shown on connect — enough to know you are on the right handset before you install.
Drag a build onto it
APK installation is a drop target rather than a command, with connection state shown plainly rather than inferred from silence.
What it does
Six things, plainly.
Pair by IP and port, no cable.
Finds handsets already in debugging mode.
Brand, model, Android version, battery.
Drop an APK on the window; it installs.
Shown plainly, not inferred from silence.
Packaged by electron-builder.
Built with
- Shell
- Electron
- Runtime
- Node.js
- Device bridge
- ADB
- Packaging
- electron-builder
- Bundled
- scrcpy
What came out of it
The outcome.
Getting a build onto a device stops being an engineering-only task.
One Electron codebase ships to Windows, macOS and Linux.
Testers stop queueing behind whoever owns the cable.
Built in-house to remove a daily friction from our own mobile work.
Have a problem shaped like this one?
Describe the situation and a senior engineer will tell you what it needs.