adb的全称为Android Debug Bridge,安卓调试桥,可以通过调试命令来控制手机,诸如开机,关机等按键控制;或者启动,关闭应用;异或进行触摸模拟.
通过学习adb,可以实现简单的脚本控制,最大的特点是不需要root,对于普通手机都可以进行,帮助我们完成一些简单的重复性事件,诸如刷资源,各种app的签到
电脑端
将下面3个文件弄到一个文件夹里,然后将其添加到path,adb环境就配置好了
然后将这个文件夹添加到path中
cmd中 检查是否添加成功
手机端
开发者选项
开启开发者选项 : 以小米手机为例,先进入开发者设置,miui版本号点5下,更多设置->开发者选项->开启
打开usb调试 : 在开发者选项中,开启usb调试以便于执行adb指令,miui还需要开启usb调试(安全设置)
获取坐标 : 开发者选项中,开启指针位置以便于模拟触摸时获取位置
基于内网穿透实现远程调试,就可以不用占用那少得可怜的usb口了,下面是统一管理所有设备的命令
实现步骤
先使用内网穿透得到虚拟IP 如
推荐tailscale或蒲公英
手机通过usb调试设置监听端口
断开手机后,电脑连接 如
调试结束后可以 断开连接
scrcpy 使用这个软件,在上面远程连接之后就可以进行远程控制,当然也可以直接连usb获得稳定的投屏
Local ADB
- 先连接任意一个 Wi-Fi,就算没有接入互联网都可以;
- 然后打开 LADB,将它调整为小窗模式(或分屏模式)——因为无线调试的配对码等信息每次点击都会动态生成,所以才需要小窗模式同时打开本应用和开发者选项;
- 进入开发者选项,开启无线调试,首次使用需要配对设备,将配对码和端口填入本应用即可;
- 开心使用adb
如使用mumu模拟器,可以在问题诊断里面查看adb端口
找到端口后直接connect,如下是默认端口
常见命令中常见pm和am的缩写
pm package manager
am activity manager
一个package下有多个activity(界面)
例如
例如
由
得到
然后可以得到
activity :
package :
可以通过下面cmd代码获取
获取了安装路径后pull到指定目录里并重命名为
用cmd实现批量操作
延时1s,以免过场动画影响操作,利用选择默认延迟来实现
按键模拟都是像下面这种格式,不同的按键对应不同的id
下面是常用id-按键表
详细的见官网 KeyEvent | Android Developers
坐标需要根据屏幕分辨率自行调整
冲杯
下面是基于图像处理控制流程的coc辅助脚本
里面的图片可以自己截取家乡界面和战斗界面的元素用于定位
注意截图不能直接截,应该使用模拟器截图之后,再在截取的图片上面截
因为模拟器的显示有缩放