Skip to content

ovitrif/awb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 screen mirroring if you want it. It ships as two small native binaries: the awb CLI and a menu bar app.

Install

curl -fsSL https://github.com/ovitrif/awb/releases/latest/download/install.sh | sh

Pin a release or choose the install directory:

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

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

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:

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

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 font is licensed under the SIL OFL 1.1; icons are Phosphor (MIT).

About

Android Wireless Bridge for interactive debug pairing and screen mirroring on macOS

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors