Build, deploy, and debug with Bonk.
Bonk is the open-source build and device tooling behind this workflow. Accounts and your team's devices are managed on Bonk Cloud.
Install Bonk
The upstream project currently documents installation from Git over SSH. You need Rust, Cargo, and GitHub SSH access configured.
bonk doctor reports external tool availability. Platform SDKs and signing requirements depend on the target you build for.
Find your devices
Saved names work with --device. Android names follow the device's serial number across USB and Wi-Fi reconnections.
Select a persistent default when you are iterating on the same device:
An explicit --device overrides the default for that command.
Reach a remote Android device
Once connected to a device fabric, remote devices appear as <node>/adb:<serial>.
The bridge prints the ADB_SERVER_SOCKET and ADB environment variables to set in another terminal. Keep the bridge running while using adb, Android Studio, or scrcpy. For scrcpy, use --force-adb-forward and Bonk's adb binary so the versions match.
Forwarded ports work through the fabric. adb reverse is not supported over the fabric yet. Bonk skips manifest reverse entries with a warning.
Run on an SSH host through the fabric
Nodes can advertise an SSH service alongside their attached Android devices. Bonk routes SSH through the fabric automatically when the destination matches a fabric node name or its fabric DNS name.
SSH uses your own keys and verifies the host against known_hosts. Set up key-based access first. bonk pair is for devices reachable on your network; it does not work through the fabric because its device callback is blocked by the access policy.
Pair a handheld
Pairing prints a setup command to run on your device and lets you save a name. Linux devices use SSH; Windows handhelds use Windows OpenSSH Server. Windows setup needs administrator access. Use Desktop Mode on Steam Deck for day-to-day iteration.
Bonk can use LLDB for Linux SSH devices. Windows devices need a separate debugger, such as Visual Studio Remote Debugger. Windows on Arm devices can be recognized, but Bonk cannot build their target yet.
Chromebooks with Linux development enabled use an SSH service on port 2222. Pairing guides you through forwarding that port in ChromeOS settings so your development machine can reach the Linux container.
Run on an iPhone
Bonk supports deploying iOS development builds and streaming application output to your terminal. iOS 17 and later require Developer Mode and a personalized Developer Disk Image; Bonk mounts that image before launching. Signing credentials and a provisioning profile are still required.
The iOS stdio stream includes logs and Rust panics, but does not provide the application's exit code. Do not use Bonk's exit status alone to detect an iOS application crash. This device workflow does not imply iOS support through the Android fabric bridge.
Beyond the device
The CLI includes Rust cross-compilation, packaging, signing, and publishing integrations for Apple, Google Play, Microsoft, Steam, Epic Games, and Vivo. Store accounts, credentials, and platform requirements still apply.
See the Bonk repository, Linux handheld guide, and Windows handheld guide for the full configuration.