https://github.com/ovitrif/awb
Android Wireless Bridge for interactive debug pairing and screen mirroring on macOS
https://github.com/ovitrif/awb
android bridge debug mirroring pairing wifi
Last synced: 17 days ago
JSON representation
Android Wireless Bridge for interactive debug pairing and screen mirroring on macOS
- Host: GitHub
- URL: https://github.com/ovitrif/awb
- Owner: ovitrif
- License: mit
- Created: 2026-05-07T00:24:25.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-15T14:03:59.000Z (19 days ago)
- Last Synced: 2026-06-15T14:08:03.063Z (19 days ago)
- Topics: android, bridge, debug, mirroring, pairing, wifi
- Language: Rust
- Homepage:
- Size: 1.06 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# awb
Android Wireless Bridge for macOS: pair, connect, and mirror Android phones over Wi-Fi
without remembering a single `adb` command.
awb wraps Android's wireless debugging flow behind a QR code. Scan it with your phone and
awb handles mDNS discovery, `adb pair`, `adb connect`, and reconnects, then launches
[scrcpy](https://github.com/Genymobile/scrcpy) screen mirroring if you want it. It ships as
two small native binaries: the `awb` CLI and a menu bar app.
## Install
```sh
curl -fsSL https://github.com/ovitrif/awb/releases/latest/download/install.sh | sh
```
Pin a release or choose the install directory:
```sh
curl -fsSL https://github.com/ovitrif/awb/releases/latest/download/install.sh | \
AWB_INSTALL_TAG=v2.0.0 AWB_INSTALL_DIR="$HOME/.local/bin" sh
```
Requirements: `adb` on your PATH (Android SDK platform-tools). `scrcpy` is optional and
only needed for screen mirroring. The phone needs Android 11+ with developer options
enabled, on the same Wi-Fi network as your Mac.
## Menu bar app
```sh
awb app
```
The awb icon appears in the menu bar. Left-click toggles the popover: connected devices
with one-click mirroring, a Logs tab, scrcpy settings, and QR pairing for new phones.
Right-click offers Show, Pair, Refresh, and Quit.
macOS release archives also contain `AWB.app` for /Applications and login items; it is the
same menu bar app in a bundle.
## CLI
```sh
awb
```
Running `awb` with no arguments checks ADB, shows a QR code, and guides the phone from
`Developer options -> Wireless debugging -> Pair device with QR code` to a connected
device, with live waits, retries, and manual IP:port fallbacks when discovery misbehaves.
Once connected it offers to start scrcpy.
Useful commands and flags:
```sh
awb status --json # ADB, scrcpy, and device status for scripts and UIs
awb reset-adb # kill and restart the local ADB server
awb completions zsh # print zsh completions
awb app # launch the menu bar app
awb --connect-only # pair and connect without the scrcpy menu
awb --background # start scrcpy detached and exit
awb --foreground # start scrcpy and wait until it exits
awb --stable # scrcpy + keepalive watch + reconnects + Wi-Fi diagnostics
awb --watch --wifi-doctor
awb --timeout 120 # wait longer than the 60-second default
awb --device-serial SERIAL --background
awb --window-title "Pixel 10 Pro" --window-width 480 --window-height 1071
awb --plain-window --always-on-top
awb --adb /path/to/adb --scrcpy /path/to/scrcpy
```
By default scrcpy launches borderless at 480x1071 with `--stay-awake` and no audio; pass
`--plain-window` for scrcpy's regular decorated window. The menu bar app stores its scrcpy
options in `~/.config/awb/config.toml`.
## Build from source
```sh
git clone https://github.com/ovitrif/awb.git
cd awb
cargo build --release # target/release/awb and target/release/awb-app
scripts/bundle-app.sh # optional: wraps awb-app into target/bundle/AWB.app
```
The workspace has three crates: `awb-core` (ADB, scrcpy, QR, and Bonjour logic), `awb`
(the CLI), and `awb-app` (the menu bar app, built from the design in `DESIGN.pen`).
## License
MIT. Bundled [Inter](https://rsms.me/inter/) font is licensed under the SIL OFL 1.1;
icons are [Phosphor](https://phosphoricons.com/) (MIT).