工具下载 https://pan.baidu.com/s/1dEOiKiH
开源网址
https://github.com/Charltsing/WeChat-Jump-JumpSharp
原理说明:
1、打开手机的USB调试功能(部分手机需要再打开USB调试的安全模式,允许模拟按键)
2、使用谷歌的安卓调试工具ADB完成截图和模拟按键
命令
检测设备 shell getprop ro.product.model
获取手机分辨率 shell wm size
截图到控制台 shell screencap -p
模拟发送按键 shell input swipe 100 100 200 200 时间
3、定时器循环抓图
4、判断小黑人的脚下位置(g == 55 && r + b > 145 && r + b < 148)
5、等待右键指示要跳跃的终点坐标。计算两点之间的距离,转成按键时间,发送按键。
6、坐标换算要考虑手机分辨率和图像控件分辨率。不同品牌的手机可能还要乘个时间系数。具体自己调试。
代码难点:
1、手机参数设置
2、截图的png不要写到硬盘上,要直接读控制台,这样速度会快得多。控制台返回的数据需要将0D0D0A替换成0A才是png图片
3、如果希望自动跳跃的话,需要判断棋子位置,一般做法是从上至下扫描,得到最高点和左右至少一点即可计算出中心点。
4、如果ADB和USB调试都正确但检测不到手机,请自行百度方案,可能需要修改adb的配置,因为个别手机没给谷歌注册,所以不支持。
操作注意事项
1、确认ADB工作正常,如果5037端口被占用,要杀掉占用的进程,否则ADB不工作。
2、USB调试功能不同的手机位置不一样,请自行百度。部分手机需要再打开USB调试的安全模式,允许模拟按键。
3、程序运行不正常的话,请在DOS窗口手工测试ADB命令,正常之后再考虑修改代码。