让你的Android手机自己动起来
主要内容
今天主要分享通过 adb 控制安卓手机进行一些重复的操作,如点击、滑动,当然也有一些不完善的地方,希望大家一起讨论。
准备工作
我们首先要把手机和电脑通过 adb 连接起来。
手机启用开发者模式
以我的小米11为例,打开“设置”—“我的设备”—“全部参数”—“MIUI版本” ,点击7次,直到出现“您已处于开发者模式”。
然后进入“设置”—“更多设置”—“开发者选项”,打开“USB调试”。
用数据线把手机和电脑连接起来。手机会弹出一个授权认证,点击确认就好了。
安装 ADB_USB 驱动
下载
ADB工具
下载后解压缩,然后把目录配置到环境变量里面
USB 驱动
如果这个驱动不好安装的话,也可以使用某些驱动安装工具来安装驱动。
安装成功之后,电脑设备管理里面会显示一个adb设备。
不过也有例外,我的小米11显示就是“通用串行总线设备”,不过不重要,我们测试一下adb连接是否正常。
测试连接
Win + R 输入 cmd 打开命令行 输入 adb devices
如果能看到设备号就说明驱动安装好了。 看后面的状态
下面这种显示device是正确连接的
C:>adb devices
List of devices attached
ef7xxxx device
下面这种是没有对电脑授权的
C:>adb devices
List of devices attached
ef7xxxx unauthorized
还遇到显示 offline 的情况也属于连接异常
如果显示 device 连接正常在输入 adb shell 能够进入手机的shell里面则可以继续下一步了
C:>adb shell
venus:/ $
进入正题
手机回到桌面,在手机的shell下输入 input swipe 800 1000 200 1000
C:>adb shell
venus:/ $ input swipe 800 1000 200 1000
venus:/ $
当然也可以直接在cmd下输入 adb shell input swipe 800 1000 200 1000
观察一下手机桌面有没有发生滑动,如果有就离成功更进一步了。
不过也可能遇到下面这种情况:
C:>adb shell
venus:/ $ input swipe 800 1000 200 1000
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.os.Parcel.readException(Parcel.java:2285)
at android.hardware.input.IInputManager$Stub$Proxy.injectInputEvent(IInputManager.java:1085)
at android.hardware.input.InputManager.injectInputEvent(InputManager.java:910)
at com.android.commands.input.Input.injectMotionEvent(Input.java:397)
小米11 遇到这种情况的原因是没有开启 USB调试(安全设置),开启之后就可以正常使用了。
刚才我们执行的是一个从屏幕右侧向左滑的操作。
input swipe 起点x 起点y 终点x 终点y
手机屏幕左上角坐标为“0,0”, 右下角则为分辨率最大值,比如手机分辨率为1080*1920 ,则右下角是 “1080,1920”。
我们可以通过输入不同起止点x,y坐标来进行上下左右的滑动操作。
adb shell input swipe 200 1000 800 1000 //从左往右滑
adb shell input swipe 800 1000 200 1000 // 从右往左滑
adb shell input swipe 500 200 500 1000 // 从上往下滑
adb shell input swipe 500 1000 500 200 // 从下往上滑
点击屏幕,只需要屏幕上指定位置的一个x,y坐标
adb shell input tap 1000 200
那么如何定位手机上某个点的坐标呢
1. 大约估计,知道手机的分辨率,根据大约位置估算一下就差不多了。
2. 手机截屏,在电脑上打开编辑,鼠标指到图标的一个位置,左下角就会显示指定位置的坐标。
3. 开启开发者模式中的 指针位置 ,手点屏幕就会在上面显示点击的位置。
好了,现在我们知道如何点击和滑动屏幕,下一步是让这操作自动运行起来。
首先,新建一个文本文件,粘贴以下内容,坐标请根据实际情况修改。
@echo
:start
adb shell input swipe 500 1500 500 500
goto start
保存文件,把后缀名改成bat,双击运行即可。
这时已经可以不停的滑动手机了,但我们需要让他划一下等几秒再滑,就需要加一个延时操作.ping 1.1.1.1 -n 10 -w 200 >nul
上面 10 代表 10s ,请根据实际情况自行修改。
@echo
:start
adb shell input swipe 500 1500 500 500
ping 1.1.1.1 -n 10 -w 200 >nul
goto start
您也可以自行修改 start 和 goto start 的命令组合实现不同的操作。










杨某人
校验提示文案
杨某人
校验提示文案