Android support is built into every release. No feature flag or separate build is required.
- ADB installed on the host machine
- USB debugging enabled on the device
- A connected device visible to
adb devices
- List connected devices
- Connect to one device with
android_connect - Find text or take a screenshot
- Tap the target coordinates
List devices:
{ "tool": "android_list_devices", "arguments": {} }Example result:
[
{ "serial": "abc123", "state": "device" }
]Connect:
{
"tool": "android_connect",
"arguments": {
"serial": "abc123"
}
}Find a button by text:
{
"tool": "android_find_text",
"arguments": {
"text": "Settings"
}
}Example result:
[
{
"text": "Settings",
"x": 540,
"y": 800,
"bounds": { "x": 480, "y": 760, "width": 120, "height": 80 }
}
]Tap it:
{
"tool": "android_click",
"arguments": {
"x": 540,
"y": 800
}
}Verify with a screenshot:
{ "tool": "android_screenshot", "arguments": {} }- Android coordinates are absolute screen pixels
- Prefer
android_find_textfor text elements before using screenshot-based guessing - To switch devices, call
android_disconnectfirst, thenandroid_connectto the new device
Some Xiaomi, Redmi, and POCO devices require the extra developer option:
USB debugging (Security settings)
Without it, input tools may fail with INJECT_EVENTS permission errors and android_find_text may fail with could not get idle state