上篇文章写道怎么通过 Canvas 识别跳转位置 ,本篇文章重点介绍怎样使用 adb 命令操作「小人」自己挑动.
adb 是什么
adb 是
Andorid Debug Bridge
,可以将安卓手机打开 USB 调试模式,然后连接 USB 线到电脑,就可以通过 adb 执行调试命令.
adb 安装
mac 下面使用 brew 安装
brew cask install android - platform - tools
windows 下面去搜索下载,然后放到环境变量里面去,保证命令行执行 adb 可以成功.
测试连接成功
使用 adb devices 查看是否连接成功,如果连接成功会出现设备的编号.
小人跳转需要的命令
整个自动跳动的流程是这样的:
调用 adb 命令获取手机当前屏幕截图
拉取截图到本地路径
通过 js 读取图片分析中心点位置计算跳转需要按压时长
同 adb 命令发送长按命令
通过 node 的 child_process 核心代码执行 adb 的命令如下:
特殊说明
//截屏,放到sdcard的根目录下
adb shell screencap -p /sdcard/screencap.png
//拉取截图图片到本地电脑
// 将remote路径的图片拉取到本地的路径
adb pull ${SCREENCAP_REMOTE_PATH} ${SCREENCAP_PATH}/screencap.png
//发起长按,swipe后面是开始和结束的手指位置坐标,timeout是时长
adb shell input swipe ${r + 10} ${r + 20} ${r - 10} ${r - 2} ${timeout}
2.04
是跳转系数,这个是从其他代码里面直接拿过来的,对应的是 720 宽度的手机会比较准确,可能不同的手机 dpi 和屏幕宽度会有不同的值,具体实践中需要根据自己手机情况调整一下.
我在红米 4 手机上面可以轻松几乎每次都是中心点,轻松过千.
来源: https://juejin.im/post/5a56f9156fb9a01c927e9a58