Android通过指令模拟touch滑动解锁
2016-05-10 16:19
519 查看
手机上有很多输入设备,电源键、音量加减键、触屏等等。这些设备的编号会因每个手机不同而不同,因此我们需要首先了解这个手机上都有哪些输入设备,然后通过脚本操作这些输入设备,实现一些想要的操作,进而通过循环实现自动化测试。
这条命令就是显示系统的输入设备列表,自己需要去了解这些设备的含义,进而去操作这些设备!我们这里需要操作的是touch,从下图中可以看到touch的事件是event1.
下面我们以屏幕触摸输入为例。将用到两个对应的命令:getevent和sendevent,顾名思义,一个是获取事件,另一个则是发送模拟事件。
首先我们用getevent了解设备运作,随便执行一条getevent来监听Handler event1(event1为屏幕事件):
上面的指令只会监听event1,不会监听其他的,比如电源键,音量加减键。当然我们也可以监听所有的事件:
滑动解锁便会输出这些event消息
系统会隔一定的时间对touch事件进行采样,滑动速度越慢采样的信息越多,我们没必要花费太多的时间在数值转换上,我们可以快速滑动,只要能实现解锁就行。接下来我们要把其中的十六进制数转换为十进制数写到shell script中执行,就可以实现自动解锁了。
如果当前是暗屏的情况下,还需要执行一下:
手机上有很多输入设备,电源键、音量加减键、触屏等等。这些设备的编号会因每个手机不同而不同,因此我们需要首先了解这个手机上都有哪些输入设备,然后通过脚本操作这些输入设备,实现一些想要的操作,进而通过循环实现自动化测试。
$ 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。
相关文章推荐
- android studio中如何修改包名
- 定制自己的线程池管理类、防止OOM
- android studio 错误集合
- Android Twitter第三方登录&获取用户信息
- AndroidStudio+Genymotion
- android应用安装成功之后删除apk文件
- Android应用界面开发(一)
- Android 自定义view --圆形百分比(进度条)
- android之从第三方启动自己的apk
- Android之Glide获取图片Path和Glide获取图片Bitmap
- android 自定义控件属性
- Android Studio好用的插件
- 大话android之传递值对象(1)----serializable篇
- Fragment的切换方法
- Android创建桌面快捷方式
- Android 从网上下载图片并显示到ListView上
- Andriod调用WebService交互(.net)
- Android_动态权限管理的解决方案
- Android 如何对apk文件进行反编译以及重新打包签名
- Java反射机制的原理及在Android下的简单应用