让你的Android手机自己动起来

2021-04-16 10:23:10 6点赞 24收藏 1评论

主要内容

今天主要分享通过 adb 控制安卓手机进行一些重复的操作,如点击、滑动,当然也有一些不完善的地方,希望大家一起讨论。

准备工作

我们首先要把手机和电脑通过 adb 连接起来。

手机启用开发者模式

以我的小米11为例,打开“设置”—“我的设备”—“全部参数”—“MIUI版本” ,点击7次,直到出现“您已处于开发者模式”。

让你的Android手机自己动起来

然后进入“设置”—“更多设置”—“开发者选项”,打开“USB调试”。

让你的Android手机自己动起来

数据线把手机和电脑连接起来。手机会弹出一个授权认证,点击确认就好了。

让你的Android手机自己动起来

安装 ADB_USB 驱动

下载
ADB工具
下载后解压缩,然后把目录配置到环境变量里面

USB 驱动
如果这个驱动不好安装的话,也可以使用某些驱动安装工具来安装驱动。

安装成功之后,电脑设备管理里面会显示一个adb设备。

让你的Android手机自己动起来

不过也有例外,我的小米11显示就是“通用串行总线设备”,不过不重要,我们测试一下adb连接是否正常。

让你的Android手机自己动起来

测试连接

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调试(安全设置),开启之后就可以正常使用了。

让你的Android手机自己动起来

刚才我们执行的是一个从屏幕右侧向左滑的操作。
input swipe 起点x 起点y 终点x 终点y
手机屏幕左上角坐标为“0,0”, 右下角则为分辨率最大值,比如手机分辨率为1080*1920 ,则右下角是 “1080,1920”。

让你的Android手机自己动起来

我们可以通过输入不同起止点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. 手机截屏,在电脑上打开编辑,鼠标指到图标的一个位置,左下角就会显示指定位置的坐标。

让你的Android手机自己动起来

3. 开启开发者模式中的 指针位置 ,手点屏幕就会在上面显示点击的位置。

让你的Android手机自己动起来

好了,现在我们知道如何点击和滑动屏幕,下一步是让这操作自动运行起来。

首先,新建一个文本文件,粘贴以下内容,坐标请根据实际情况修改。

@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 的命令组合实现不同的操作。

展开 收起
1评论

  • 精彩
  • 最新
  • autojs或者手机按键精灵实现起来都比较方便些

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
24
扫一下,分享更方便,购买更轻松