Repository navigation
Releases
android-use 0.3.0
Full Changelog: v0.2.0...v0.3.0
android-use 0.2.0
android-use 0.2.0 adds saved flows: record a sequence of phone steps once, save it, and replay it with one command (android-use flow draft|run|list|info|validate|update|report|publish, plus matching MCP tools).
Flow runs are built for debugging on a real USB phone. Each run writes timestamped step events (events.jsonl) that line up with --record screen recordings and --logcat. Failures name the step and the reason, save the screen elements and a screenshot, and give a resume hint (--from N). --dry-run and flow validate check a flow without a device.
Before the first step, and after any failed step, the phone is checked: not attached, unauthorized, offline, screen off, locked, daemon not running or outdated, runner not running. Each case has its own error code and next action. A USB disconnect mid-run ends the run without replaying anything. device_busy names the owner holding the device and how to release it. Saved failure element trees are redacted.
Known limits: flow recording, --record and --logcat have been tested with a mocked device but not yet on a physical phone; lock-screen detection may vary by vendor. Publishing flows is local only.
android-use 0.1.1
android-use 0.1.1 introduces agent control of Android phones through authorized ADB: accessible screen reads, Unicode input, snapshot-bound taps, gestures, app launch, screenshots, semantic waits, and batches.
Includes a stdio MCP server, CLI, background connection lifecycle, and independent GitHub Release installers for macOS, Linux x64 and Windows x64. Integrates with the use-family skills and marketplace. Unknown outcomes are never automatically replayed.
Hardware coverage and measurement conditions are documented in the repository. Native accessible fields and WebView editable fields are supported; custom-rendered input and protected surfaces may be unavailable. This release provides basic control; it does not include streaming or persistent on-phone services.
MCP sessions retain access when reconnecting the same Android device. Host authorization is private and device-specific; device-side runner tokens remain fresh on every launch.