Skip to content

Actions Overview

strands-adb exposes one tool: adb. It dispatches on a single action="..." argument. There are 90+ actions grouped into domains.

from strands_adb import adb

adb(action="screenshot")
adb(action="smart_tap", text="Send")
adb(action="battery")

Action Groups

graph TD
    ADB["๐Ÿ”ง adb(action=...)"] --> DEVICE["๐Ÿ“ฑ Device"]
    ADB --> UI["๐ŸŽฏ UI"]
    ADB --> SCREEN["๐Ÿ‘๏ธ Screen"]
    ADB --> APPS["๐Ÿ“ฆ Apps"]
    ADB --> FILES["๐Ÿ“‚ Files"]
    ADB --> INTENT["๐Ÿ”— Intents"]
    ADB --> SENSOR["๐ŸŒก๏ธ Sensors"]
    ADB --> SETTINGS["โš™๏ธ Settings"]
    ADB --> LOGS["๐Ÿ“œ Logs"]
    ADB --> A11Y["โ™ฟ Accessibility"]
    ADB --> CAMERA["๐Ÿ“ธ Camera"]
    ADB --> COMMS["๐Ÿ“ž Comms"]

    style ADB fill:#3DDC84,color:#000

๐Ÿ“ฑ Device

Action Purpose
list_devices Enumerate connected devices
select_device Set default device serial
device_info Model, manufacturer, Android version
battery dumpsys battery
wake Wake screen
unlock Wake + swipe + optional PIN

๐ŸŽฏ UI Input

Action Purpose
tap Tap at (x, y)
swipe Swipe between two points over duration
type_text Type text into focused field
key Send keyevent (back, home, enter, volume_up, ...)
back / home / recent Convenience keyevents
gesture_long_press Long press at (x, y)
gesture_path Multi-point gesture sequence
gesture_pinch Pinch-to-zoom
gesture_stream Stream of gestures

๐Ÿ‘๏ธ Screen & UI Inspection

Action Purpose
screenshot Capture PNG + return as Converse image block
screen_record Blocking fixed-duration recording
screen_record_start / _stop / _status Background recording โ€” record while agent acts
screen_frames Extract N live screenshots at intervals
video_frames Extract frames from an on-device video
ui_dump Raw UIAutomator XML
ui_find Find UI node by text / resource-id / content-desc
ui_tap_by Tap a node found by ui_find criteria
ui_wait_for Poll until a node appears
smart_tap High-level: tap by semantic text

โ†’ Vision guide ยท Smart tap guide ยท UI automation

๐Ÿ“ฆ Apps

Action Purpose
list_packages List installed apps
launch am start a package
kill Force-stop a package
install adb install an APK
uninstall Uninstall a package
clear_data Clear app data
current_app What's in the foreground

โ†’ Apps & Intents guide

๐Ÿ“‚ Files

Action Purpose
push Host โ†’ device
pull Device โ†’ host
ls List remote directory

๐Ÿ”— Intents

Action Purpose
open_url am start -a VIEW -d URL
share_text Android share sheet
start_activity Arbitrary am start with args

๐ŸŒก๏ธ Sensors & Thermals

Action Purpose
sensors Accelerometer, gyro, light, etc.
thermals CPU / skin / battery temps
wifi_info SSID, BSSID, signal

โ†’ Sensors guide

โš™๏ธ Settings Mutation

Action Purpose
setting_get / setting_put / setting_delete / setting_list Raw namespace-scoped settings
set_ringer silent / vibrate / normal
set_brightness 0โ€“255
set_bluetooth enable/disable
set_airplane_mode enable/disable
setting_dump Dump all settings in a namespace

โ†’ Settings guide

๐Ÿ“œ Logs

Action Purpose
logcat One-shot logcat -d
log_stream_start / stop / status Background streaming โ†’ DevDuck event bus
notifications / notifications_parsed Dump notifications (raw / structured)

โ†’ Logcat streaming guide

โ™ฟ Accessibility

Action Purpose
accessibility_list List available services
accessibility_toggle_service Enable/disable a service
accessibility_system_action Trigger a system action
accessibility_captions Toggle live captions
accessibility_magnification Enable screen magnification
accessibility_font_scale Set font size multiplier
accessibility_status Overall a11y state

โ†’ Accessibility guide

๐Ÿ“ธ Camera

Action Purpose
camera_photo Take a still photo (returns image block)
camera_video Record a video

โ†’ Camera guide

๐Ÿ“ž Comms

Action Purpose
dial Open dialer with number (or auto-call)
sms_compose Draft an SMS
media_control play/pause/next/prev/stop
volume Raise/lower/mute

Response Shape

Every action returns:

{
    "status": "success" | "error",
    "content": [
        {"text": "human-readable summary"},
        # optionally, for screenshots / camera:
        {"image": {"format": "png", "source": {"bytes": b"..."}}},
    ],
    # action-specific extras:
    "path": "/tmp/foo.png",
    "devices": [...],
    "info": {...},
}

The content field follows the AWS Converse API content block format, which Strands Agent consumes directly.

What's Next