adb模拟操做之event

首语:android

  咱们都知道,adb能够对模拟器和root过的真机进行不少操做,例如:模拟点击,输入,截图,手机和PC,数据互传等。这篇要说的就是adb操做模拟器或者真机的输入输出。工具

0x01 问题测试

  使用adb进行模拟长按鼠标或者长按某个按钮,坐标?spa

0x02 遍历资料(互联网取资料)操作系统

  网上找了一下资料,基本都是须要跟event相关的,例如:/dev/input/event0 X X X; /dev/input/event3 Y Y Y。.net

  通常都是input keyevent后面带参数或者是sendevent /dev/input/...这样的形式。blog

  思考了一下,资料也说,应该是跟使用的android设备有关系,模拟器,真机,TV等都是不同的,真机和真机之间也有可能不同。事件

  最后肯定了一个,按照网上的思路,先用getevent进行捕获事件,而后在用sendevent进行发送操纵。忽然让我想到了,window消息机制不就是这样么?get

  咱们在window下模拟操做的时候,有时候也是须要借助spy++工具,进行捕获消息,而后模拟Send,Post消息的。input

0x03 测试结果

  因而,在真实加上,排除各类状况,只进行相关的那么一点点操做,其余操做都不进行。好比:长按,就只是长按,任何移动都不出现。而后获得的消息内容。

  不过获得的内容是16进制的值。在使用adb进行发送的时候,须要转化成10进制的。

0x04 结论和思考

  测试,确实操做成功了。

  /dev/input/event应该是做为一个操做系统(android)的驱动器同样的存在。而输入的input有不少种(键盘,鼠标,手柄,遥控器等),不一样的驱动,对应不一样的动做,因此就会有不少种输入方式了。因此,凡事仍是要思考,学而不思则罔,思而不学则殆。

0x05 附录

  参考资料:http://blog.csdn.net/mad1989/article/details/38109689

  参考资料:http://blog.csdn.net/liu_zhen_wei/article/details/12559277

  参考资料:http://blog.csdn.net/chen969097157/article/details/52351228

相关文章
相关标签/搜索