Android通过指令模拟touch滑动解锁



手机上有很多输入设备,电源键、音量加减键、触屏等等。这些设备的编号会因每个手机不同而不同,因此我们需要首先了解这个手机上都有哪些输入设备,然后通过脚本操作这些输入设备,实现一些想要的操作,进而通过循环实现自动化测试。

$ adb shell cat /proc/bus/input/devices

这条命令就是显示系统的输入设备列表,自己需要去了解这些设备的含义,进而去操作这些设备!我们这里需要操作的是touch,从下图中可以看到touch的事件是event1.

下面我们以屏幕触摸输入为例。将用到两个对应的命令:getevent和sendevent,顾名思义,一个是获取事件,另一个则是发送模拟事件。


首先我们用getevent了解设备运作,随便执行一条getevent来监听Handler event1(event1为屏幕事件):

$ adb shell getevent /dev/input/event1

上面的指令只会监听event1,不会监听其他的,比如电源键,音量加减键。当然我们也可以监听所有的事件:

$ adb shell getevent 

滑动解锁便会输出这些event消息


系统会隔一定的时间对touch事件进行采样,滑动速度越慢采样的信息越多,我们没必要花费太多的时间在数值转换上,我们可以快速滑动,只要能实现解锁就行。接下来我们要把其中的十六进制数转换为十进制数写到shell script中执行,就可以实现自动解锁了。

如果当前是暗屏的情况下,还需要执行一下:

$ adb shell input keyevent 26
模拟发送电源键事件,屏幕点亮之后才能执行此shell script。


猜你喜欢

转载自blog.csdn.net/xiaobaiing/article/details/51363835
今日推荐