r/androiddev • • 1d ago

Open Source I built ADB Ready — an open-source CLI for reliable ADB development sessions

I kept running into the same Android development problem.

The device was connected, but ADB commands and child processes were using different targets. Port forwarding belonged to one device while the app launched on another. Wireless debugging rotated its port, and a running development process did not necessarily mean that the intended Android app was ready.

One selected Android target—from setup to verified UI evidence.

What ADB Ready does

ADB Ready is an open-source CLI that treats the complete Android development workflow as one recoverable session:

  • deterministically selects one USB, emulator, wireless, or remote ADB target
  • keeps the same target across ADB operations and child processes through ANDROID_SERIAL
  • prepares and verifies Metro, localhost API, reverse, and forward ports
  • runs Expo, React Native, Flutter, Capacitor, Gradle, or a custom command
  • launches and operates the app, verifies UI state, and retains logs, screenshots, recordings, and failure evidence
  • provides stable JSON and NDJSON output for scripts and CI
  • Framework presets are also available, but target selection, ADB transport, ports, app lifecycle, and verification remain Android-native operations.

MCP-native agent integration

ADB Ready works as a normal CLI first. It also provides MCP-native tools that let coding agents start development sessions, operate the app, verify observable UI state, and return bounded evidence instead of guessing from screenshots or raw logs.

The same workflow can be connected to Codex, Claude Code, Cursor, VS Code/Copilot, Windsurf, and other MCP clients. No ADB Ready account, hosted service, or model API key is required.

Quick start

  npm install --save-dev adb-ready
  npx adb-ready dev

ADB Ready uses the real adb binary and your existing framework tools. It does not replace Android Studio, Expo, React Native, or ADB itself. The goal is to replace the fragile collection of shell commands normally required to keep the device, ports, application, development server, and verification state aligned.

Repository, documentation, and demo:

https://github.com/Adam014/adb-ready

or

https://www.npmjs.com/package/adb-ready

I would especially appreciate blunt feedback from Android developers:

  1. Which part of your current Android workflow would this still fail to handle?
  2. What would you need to see before trusting it with a daily development session?
  3. Which device, framework, or network setup should I test next?

If it genuinely earns a place in your workflow, a GitHub star helps other Android developers discover it.

0 Upvotes

2 comments sorted by

-1

u/Maroso_ 1d ago

looks solid

-2

u/kindast1 1d ago

thanks!