android-adb

安装量: 147
排名: #5852

安装

npx skills add https://github.com/httprunner/skills --skill android-adb

Android ADB Reference for controlling Android devices with raw adb commands. Execution Constraints Use adb -s 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 ""

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 KEYCODE_VOLUME_UP Volume up KEYCODE_VOLUME_DOWN Volume down KEYCODE_POWER Power button KEYCODE_TAB Tab key KEYCODE_ESCAPE Escape key

返回排行榜