模式介绍
Adb、无障碍、Hid 是三种并列的控制方式。Adb 引擎走本机 Wireless Debugging(无线调试):App 与手机上的 adbd 配对后,脚本可以直接发 shell、点击、授权、装包。不需要再插电脑,也不依赖外接蓝牙硬件。看不到节点时,用 图片与颜色 认界面,再用 Adb.tap 去点。
需要 Android 11(API 30)及以上,打开 Wi‑Fi,并打开开发者选项里的无线调试。
怎么连(优先自动)
| 场景 | 推荐做法 |
|---|---|
| 第一次 / 撤销授权 / 清数据后 | 打开「使用配对码配对设备」,用 App.notifyInput 在通知栏回复 6 位码,再 Adb.pairWithCode(六位码)。不要切回本应用,否则配对弹窗常被关掉 |
| 日常(已配对过) | Adb.connectSaved(),自动扫描连接端口。扫不到再 pairWithCode。手填端口只在手动配对 |
pairWithCode 只接受当前手机自己的地址:优先局域网 IP(与设置页「IP:端口」一致),再兜底 127.0.0.1;不会拿局域网其它手机/电脑的广播来配对。首次默认走 开启与配对,连不上再 手动配对。手机上可点 示例 → 接口 → Adb 无线调试 实测。
第一次开启时:开发者选项未开则 Adb.openDeveloperOptions(),再用 App.notifyInput 发通知并跳到无线调试。用户在系统设置里点「使用配对码配对设备」,到通知栏输入 6 位码,不要回到本应用。运行中 isConnected() 为 false 时先 connectSaved(),仍失败则弹窗并 System.exit()。
日常 App 自动化仍优先 无障碍(能读节点)。Adb 适合:无障碍受限、需要 pm grant / am force-stop、或希望用 shell 做系统级操作。游戏或强风控场景也可与 Hid、图色配合。
Adb 连接后身份是 shell(uid 2000),不是 root。能做的事接近 USB 调试;Adb.root() 仅在设备允许时有效。
适用 / 不适用
适用:
- 本机自动化,不想接电脑
- 需要
pm grant、强停应用、settings、截图到文件 - 无障碍点不到,但可以用
input tap/swipe - 给脚本提供通用
shell/service兜底
不适用:
- Android 10 及以下(没有无线调试配对协议)
- 指望完全无人值守首次配对(至少要用户开开关并输入配对码)
- 需要完整 root 权限的操作
无障碍负责读节点;Hid 负责外接键鼠;Adb 负责本机 shell。可以叠着用。
