无限点击,间隔0.3秒:
adb.exe shell “while true;do input tap 350 850 & input tap 350 850 & sleep 0.3;done”
点击20次:
adb.exe shell “seq 20 | while read i;do input tap 350 850 & input tap 350 850 & sleep 0.3;done”
按键事件(KEY):
命令格式:adb shell sendevent [device] [type] [code] [value]
adb shell sendevent /dev/input/event0 1 229 1 //代表按下按下 menu键
adb shell sendevent /dev/input/event0 1 229 0 //代表按下松开 menu键
adb shell input keyevent 4 //这条命令相当于按了设备的Backkey键
adb shell input keyevent 3 //press home key
发送鼠标事件(Touch):
命令格式:adb shell sendevent [device] [type] [code] [value]
情况1:在某坐标点上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
注:以上六组命令必须配合使用,缺一不可
情况2:模拟滑动轨迹(可下载并采用aPaint软件进行试验)
如下例是在aPaint软件上画出一条开始于(100,200),止于(108,200)的水平直线
adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)
adb shell sendevent /dev/input/event0 3 1 200
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)
adb shell sendevent /dev/input/event0 0 0 0
//…………………… must list each step, here just skip
adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0
模拟双击 快速点击屏幕:
利用循环语句实现多次点击;每次点击后休眠0.1s,否则数据写入太快机器也无法反应过来。
- 记录数据文件到recordtap
dd if=/dev/input/event2 of=/sdcard/recordtap
- 点击需要点击的位置,产生点击数据,然后按 ctrl+c 结束
- 写入文件
for i in `seq 1 100`; do dd if=/sdcard/recordtap of=/dev/input/event2;sleep 0.1; done