Agent 能启动 App 但无法点击元素——ADB 安全调试权限缺失
现象
Agent 能正常执行 Launch 操作(比如"打开美团"),App 确实打开了。但后续所有 Tap 操作都不生效——屏幕没有任何反应,Agent 一直重复点击失败。
原因
"USB 调试"和"USB 调试(安全设置)"是两个不同的开关。
大部分 Android 设备只需要开前者,但小米、华为、OPPO、vivo 等品牌在较新的系统版本上两个都要开才能让 ADB 执行精确的屏幕点击。
只开"USB 调试"时,ADB 能做:
am start启动 App ✓screencap截图 ✓input keyevent按键(Home / Back)✓
但不能做:
input tap精确点击 ✗input swipe滑动 ✗
解决办法
设置 → 开发者选项 → 同时勾选两个开关:
- ✅ USB 调试
- ✅ USB 调试(安全设置) — 不同品牌可能叫这个名字,或类似名称
名字可能因品牌 ROM 而异:
| 品牌 | 开关名称 |
|---|---|
| MIUI / Redmi | USB 调试(安全设置) |
| HarmonyOS | USB 调试(安全设置) |
| OPPO / vivo | USB 调试(安全设置)或 USB 安装 |
| 原生 Android | 可能不需要这个额外开关 |
验证修复
- 两个开关都开了
- 重新连接 USB(或重启 ADB 服务)
- 运行 Agent 一条最小测试命令:
python main.py --verbose --base-url $MODEL_URL "打开设置应用"
观察 verbose 输出,如果看到 Tap 动作后屏幕确实点到了正确位置,说明修复成功。
其他可能原因(较少见)
系统版本过旧:Android 7.0 以下可能有兼容问题,建议 Android 7.0+。
USB 连接不稳定:换一根好数据线、换 USB 接口试试。
App 自身的防调试:极少数 App(部分银行、游戏)会屏蔽 ADB 操作。正常 App 不会有这个问题。