在网上找到可以使用adb命令模拟按键
现在碰到一个问题,就是对触屏的编辑还有问题,
在网上看到:
在某坐标点上touch
如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下
adb shell sendevent /dev/input/event0 3 0 40
adb shell sendevent /dev/input/event0 3 1 210 
 
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0       //it must have
 
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0 //it must have
 
注:以上六组命令必须配合使用,缺一不可这个在模拟器上是可以的,但到真机上就不行,完全没有反应
我用adb shell getevent 查看了事件,发现在模拟器上只有/dev/input/event0。但真机上有很多,其中有个/dev/input/event3,它的描述是“qtouch-touchscreen”.就想到用/dev/input/event3来代替之前的/dev/input/event0,但还是不行,希望高手帮忙

解决方案 »

  1.   

    adb shell
    输入 getevent 看一下有那些Event设备
      

  2.   

    /dev/input/event0: 0003 0000 00000005
    /dev/input/event0: 0003 0001 0000001d类似于这样的8进制的数据格式   这个例子表示xy坐标为5,21 的点
      

  3.   

    若想清晰的理清为什么要这样translate一下才可以让真机识别坐标点
    就仔细看看
     /toolbox/sendevent.c
    /toolbox/getevent.c
    /cmds/input/src/com/android/commands/input/Input.java
    真正渴望一步到位的自动化测试,需要自行编写translate.sh脚本来辅助了。当然现在现成的脚本已经很多了……很简单的转换,自己写也不难,代码量也不多、
      

  4.   

    http://blog.csdn.net/yiyaaixuexi/archive/2011/06/29/6574001.aspx