Install
openclaw skills install phone-agent-lanClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
手机操控技能。通过 USB ADB 连接安卓手机,捕获屏幕、分析 UI 元素、执行点击/滑动/输入等操作。当用户要求操控手机、执行 App 操作、打开应用、发送消息时使用。
openclaw skills install phone-agent-laninput text 绕过输入法,只能输入英文/数字/拼音)adb devices
应显示设备 ID,如 803203a device
adb(Android SDK Platform Tools)python3(内置)# 检查 adb
adb version
# 检查 skill 脚本
ls -la ~/.openclaw/skills/phone-agent/agent.py
# 查看连接状态
python3 ~/.openclaw/skills/phone-agent/agent.py connected
# 截图并保存到临时文件
python3 ~/.openclaw/skills/phone-agent/agent.py screenshot
# 获取屏幕尺寸
python3 ~/.openclaw/skills/phone-agent/agent.py size
# 点击坐标 (x, y)
python3 ~/.openclaw/skills/phone-agent/agent.py tap 500 1000
# 滑动 (x1, y1, x2, y2, duration)
python3 ~/.openclaw/skills/phone-agent/agent.py swipe 600 2400 600 800
# 输入文字(仅英文/数字)
python3 ~/.openclaw/skills/phone-agent/agent.py text "hello"
# 按键
python3 ~/.openclaw/skills/phone-agent/agent.py home # HOME 键
python3 ~/.openclaw/skills/phone-agent/agent.py back # 返回键
python3 ~/.openclaw/skills/phone-agent/agent.py power # 电源键
# 启动 App(包名)
python3 ~/.openclaw/skills/phone-agent/agent.py start com.tencent.mm
# 强制停止 App
python3 ~/.openclaw/skills/phone-agent/agent.py stop com.tencent.mm
# 1. 启动微信
adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER 1
# 2. 等待启动后,dump UI 结构
adb exec-out uiautomator dump /sdcard/dump.xml && adb pull /sdcard/dump.xml /tmp/dump.xml
# 3. 分析 XML,找到搜索按钮坐标
python3 << 'EOF'
import xml.etree.ElementTree as ET
tree = ET.parse('/tmp/dump.xml')
root = tree.getroot()
for node in root.iter():
text = node.attrib.get('text', '')
bounds = node.attrib.get('bounds', '')
if '搜索' in text or 'search' in text.lower():
print(f"TEXT: {text}, BOUNDS: {bounds}")
EOF
# 4. 点击搜索按钮(如坐标 [912,140][1056,284])
python3 ~/.openclaw/skills/phone-agent/agent.py tap 984 212
# 5. 输入搜索文字
python3 ~/.openclaw/skills/phone-agent/agent.py text "蓝汐"
# 6. 在搜索结果 XML 中找到联系人坐标,点击进入
# 1. 在聊天界面,找到输入框和发送按钮的坐标
# 2. 点击输入框
python3 ~/.openclaw/skills/phone-agent/agent.py tap 540 2534
# 3. 输入文字
python3 ~/.openclaw/skills/phone-agent/agent.py text "hello"
# 4. 点击发送按钮(如坐标 [1020,1476][1170,1608])
python3 ~/.openclaw/skills/phone-agent/agent.py tap 1095 1542
adb exec-out uiautomator dump /sdcard/dump.xml && adb pull /sdcard/dump.xml /tmp/dump.xml
import xml.etree.ElementTree as ET
tree = ET.parse('/tmp/dump.xml')
root = tree.getroot()
# 查找所有可点击元素
for node in root.iter():
text = node.attrib.get('text', '')
bounds = node.attrib.get('bounds', '')
clickable = node.attrib.get('clickable', '')
resource_id = node.attrib.get('resource-id', '')
if clickable == 'true' and text:
print(f"TEXT: {text!r}, BOUNDS: {bounds}, ID: {resource_id}")
# 查找特定关键词
for node in root.iter():
text = node.attrib.get('text', '')
bounds = node.attrib.get('bounds', '')
if '微信' in text or '搜索' in text:
print(f"FOUND: {text!r}, BOUNDS: {bounds}")
# bounds = "[228,1766][1008,1835]"
# 中心点: x = (228+1008)/2 = 618, y = (1766+1835)/2 = 1800
A:
adb kill-server && adb start-serverA:
adb shell wm sizeA:
input text 只能输入 ASCII 字符A:
A:
# 方法1: 列出已安装包
adb shell pm list packages | grep 关键词
# 方法2: 在 Play 商店查看 URL 中的 id
# 方法3: 用 UI Dump 分析桌面图标
| App | 包名 |
|---|---|
| 微信 | com.tencent.mm |
com.tencent.mobileqq | |
| 美团 | com.sankuai.meituan |
| 淘宝 | com.taobao.taobao |
| 支付宝 | com.eg.android.AlipayGphone |
| 抖音 | com.ss.android.ugc.aweme |
| 小红书 | com.xingin.xhs |
| Blued | com.soft.blued |