npx skills add https://github.com/diegosouzapw/awesome-omni-skill
httprunner/skills
android-adb
Android device control via raw ADB commands. Use for device/emulator discovery, USB or Wi-Fi connection, app launch/force-stop, tap/swipe/keyevent/text input, screenshots, UI hierarchy dump, and ADB troubleshooting.
Installation
npx skills add httprunner/skills --skill android-adb
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsAlso in this package
Other skills from httprunner/skills · top by installs.
npx skills add httprunner/skills
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md4,497 B -
docs
SUMMARY.md234 B
History
- First seen on skills.sh
- First recorded snapshot · 853 installs
SKILL.md
Android ADB
Reference for controlling Android devices with raw adb commands.
Execution Constraints
- Use
adb -s <serial>whenever more than one device is connected. - Confirm screen resolution before coordinate actions:
adb -s SERIAL shell wm size. - Ask for missing required inputs before executing (serial, package/activity, coordinates, APK path).
- Surface actionable stderr on failure (authorization, cable/network, tcpip state).
- Prefer ADB Keyboard broadcast for CJK and special character input when ADB Keyboard is installed.
Device And Server
# Start ADB server
adb start-server
# Stop ADB server
adb kill-server
# List devices
adb devices -l
# Target a specific device (use when multiple devices are online)
adb -s SERIAL <command>
Wi-Fi Connection
# Enable tcpip (USB required first)
adb -s SERIAL tcpip 5555
# Get device IP
adb -s SERIAL shell ip route | grep src
# or
adb -s SERIAL shell ip addr show wlan0
# Connect over network
adb connect <ip>:5555
# Disconnect
adb disconnect <ip>:5555
Device State
# Screen size
adb -s SERIAL shell wm size
# Current foreground app (package/activity from mCurrentFocus)
adb -s SERIAL shell dumpsys window | grep -E 'mCurrentFocus|mFocusedApp'
# Get home launcher package (for back-home detection)
adb -s SERIAL shell cmd package resolve-activity --brief -c android.intent.category.HOME
# Raw shell command
adb -s SERIAL shell <command>
App Lifecycle
# Verify package installed
adb -s SERIAL shell pm list packages | grep <package>
# Launch by package (via monkey)
adb -s SERIAL shell monkey -p <package> -c android.intent.category.LAUNCHER 1
# Launch by activity
adb -s SERIAL shell am start -W -n <package>/<activity>
# Launch by URI/scheme
adb -s SERIAL shell am start -W -a android.intent.action.VIEW -d "<scheme://path>"
# Force-stop
adb -s SERIAL shell am force-stop <package>
Input Actions
# Tap
adb -s SERIAL shell input tap X Y
# Double tap (two taps with short delay)
adb -s SERIAL shell input tap X Y && sleep 0.1 && adb -s SERIAL shell input tap X Y
# Long press (swipe to same point with duration)
adb -s SERIAL shell input swipe X Y X Y 3000
# Swipe
adb -s SERIAL shell input swipe X1 Y1 X2 Y2 [duration_ms]
# Key event
adb -s SERIAL shell input keyevent KEYCODE_BACK
adb -s SERIAL shell input keyevent KEYCODE_HOME
adb -s SERIAL shell input keyevent KEYCODE_ENTER
# Return to home (press BACK repeatedly, check foreground against home launcher)
for i in $(seq 1 20); do
adb -s SERIAL shell input keyevent KEYCODE_BACK
sleep 0.5
# Check if home reached by comparing current focus to home package
CURRENT=$(adb -s SERIAL shell dumpsys window | grep mCurrentFocus)
echo "Round $i: $CURRENT"
done
Text Input
# Plain text input (ASCII only, spaces escaped as %s)
adb -s SERIAL shell input text "hello%sworld"
# Input via ADB Keyboard (supports CJK and special characters)
# First ensure ADB Keyboard is active:
adb -s SERIAL shell ime set com.android.adbkeyboard/.AdbIME
# Then send text (base64 encoded):
adb -s SERIAL shell am broadcast -a ADB_INPUT_B64 --es msg "$(echo -n 'your text' | base64)"
# Clear text via ADB Keyboard
adb -s SERIAL shell am broadcast -a ADB_CLEAR_TEXT
Screenshot And UI Tree
# Screenshot to local file
adb -s SERIAL exec-out screencap -p > screenshot.png
# Screenshot to device then pull
adb -s SERIAL shell screencap -p /sdcard/screen.png
adb -s SERIAL pull /sdcard/screen.png ./screen.png
# Dump UI hierarchy XML
adb -s SERIAL shell uiautomator dump /sdcard/window_dump.xml
adb -s SERIAL pull /sdcard/window_dump.xml ./window_dump.xml
App Install And Uninstall
# Install APK (replace existing)
adb -s SERIAL install -r /path/to/app.apk
# Uninstall
adb -s SERIAL uninstall <package>
Common Keycodes
| Keycode | Description |
|---|---|
KEYCODE_BACK |
Back button |
KEYCODE_HOME |
Home button |
KEYCODE_ENTER |
Enter/confirm |
KEYCODE_DEL |
Delete/backspace |
KEYCODEVOLUMEUP |
Volume up |
KEYCODEVOLUMEDOWN |
Volume down |
KEYCODE_POWER |
Power button |
KEYCODE_TAB |
Tab key |
KEYCODE_ESCAPE |
Escape key |