Android Adb

httprunner/skills/android-adb

作者 httprunnera2f2c13619bd43cf8fca5319273725c156507840無授權條款收錄於 2026年10月9日更新於 2026年10月9日

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.

AI 產生的概覽

以原始 ADB 指令控制 Android 裝置與模擬器的參考指南。

功能
此技能是一份透過原始 adb 指令操作 Android 裝置與模擬器的指令參考。內容涵蓋裝置與伺服器管理、USB 與 Wi-Fi 連線、應用程式啟動與強制停止、點擊、滑動、按鍵事件與文字輸入、螢幕截圖、UI 階層傾印、APK 安裝與解除安裝,以及常用按鍵碼。它也列出執行限制,例如多部裝置連線時指定序號、座標操作前確認螢幕解析度。產出為實際執行的裝置操作,以及螢幕截圖、UI XML 傾印等擷取檔案。
適用情境
適用於需要探索、透過 USB 或 Wi-Fi 連線 Android 裝置或模擬器,或以點擊、滑動、按鍵事件和文字輸入操作裝置的情境。也適合擷取螢幕截圖或 UI 階層傾印,以及排查 ADB 連線或授權問題。
執行需求
需要 adb 命令列工具以及已連線的 Android 裝置或模擬器,並具備到裝置的 USB 或網路存取。Wi-Fi 連線需先以 USB 啟用 tcpip;中日韓及特殊字元輸入需安裝 ADB Keyboard 並設為目前輸入法。不附帶指令碼,僅為說明文件。

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

bash
# Start ADB serveradb start-server
# Stop ADB serveradb kill-server
# List devicesadb devices -l
# Target a specific device (use when multiple devices are online)adb -s SERIAL <command>

Wi-Fi Connection

bash
# Enable tcpip (USB required first)adb -s SERIAL tcpip 5555
# Get device IPadb -s SERIAL shell ip route | grep src# oradb -s SERIAL shell ip addr show wlan0
# Connect over networkadb connect <ip>:5555
# Disconnectadb disconnect <ip>:5555

Device State

bash
# Screen sizeadb -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 commandadb -s SERIAL shell <command>

App Lifecycle

bash
# Verify package installedadb -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 activityadb -s SERIAL shell am start -W -n <package>/<activity>
# Launch by URI/schemeadb -s SERIAL shell am start -W -a android.intent.action.VIEW -d "<scheme://path>"
# Force-stopadb -s SERIAL shell am force-stop <package>

Input Actions

bash
# Tapadb -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
# Swipeadb -s SERIAL shell input swipe X1 Y1 X2 Y2 [duration_ms]
# Key eventadb -s SERIAL shell input keyevent KEYCODE_BACKadb -s SERIAL shell input keyevent KEYCODE_HOMEadb -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

bash
# 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 Keyboardadb -s SERIAL shell am broadcast -a ADB_CLEAR_TEXT

Screenshot And UI Tree

bash
# Screenshot to local fileadb -s SERIAL exec-out screencap -p > screenshot.png
# Screenshot to device then pulladb -s SERIAL shell screencap -p /sdcard/screen.pngadb -s SERIAL pull /sdcard/screen.png ./screen.png
# Dump UI hierarchy XMLadb -s SERIAL shell uiautomator dump /sdcard/window_dump.xmladb -s SERIAL pull /sdcard/window_dump.xml ./window_dump.xml

App Install And Uninstall

bash
# Install APK (replace existing)adb -s SERIAL install -r /path/to/app.apk
# Uninstalladb -s SERIAL uninstall <package>

Common Keycodes

KeycodeDescription
KEYCODE_BACKBack button
KEYCODE_HOMEHome button
KEYCODE_ENTEREnter/confirm
KEYCODE_DELDelete/backspace
KEYCODE_VOLUME_UPVolume up
KEYCODE_VOLUME_DOWNVolume down
KEYCODE_POWERPower button
KEYCODE_TABTab key
KEYCODE_ESCAPEEscape key

來源與署名

來源:httprunner/skills位於android-adb提交a2f2c13

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架