Android getevent和sendevent:如何从Windows命令窗口执行录制的事件?

时间:2014-05-22 21:40:40

标签: android batch-file user-interface adb

我已经记录了在Android 4.4.2上使用UI时触发的事件

这是我从Windows命令提示符执行的命令:

adb shell getevent > capturedevents.txt

然后我通过"解析器运行.txt文件"它产生一个bat文件:

modifiedeventfile.bat

当我尝试从Windows命令提示符执行bat文件时,手机上没有任何操作,如果我运行:

adb shell getevent > response.txt

当我执行bat文件时,我只能得到这个:

/dev/input/event1: 0003 0035 00000000
/dev/input/event1: 0003 0036 00000000
/dev/input/event1: 0003 0000 00000000
/dev/input/event1: 0003 0001 00000000
/dev/input/event1: 0000 0000 00000000

/dev/input/event1: 0003 0039 00000000
/dev/input/event1: 0000 0000 00000000

响应表明手机只响应前2"命令" (其中'命令'由0 0 0终止)

我做错了什么?

我希望能够在手机上捕捉/录制事件,然后播放"他们通过执行一个bat文件回来。

以下是一些链接,可以下载我所指的文件:

http://www.filedropper.com/capturedevents http://www.filedropper.com/modifiedeventfile

1 个答案:

答案 0 :(得分:1)

链接为空,因此我无法验证您的方法。

您是否通过adb发送录制的活动?防爆。 adb shell sendevent /dev/input/event1: 0003 0035 00000000如果没有,请更改解析器,在 capturedevents.txt 中的每一行前面添加字符串adb shell sendevent,然后通过adb发送。

顺便说一句。有时,您需要通过ping添加小延迟。防爆。 ping 192.0.2.2 -n 1 -w 1000 > nul

编辑:

:: open keaypad
adb shell input keyevent 5
adb shell input tap 120 150
:: press the button 'DEL'
adb shell sendevent /dev/input/event3 0003 57 48
adb shell sendevent /dev/input/event3 0001 330 1
adb shell sendevent /dev/input/event3 0003 53 870
adb shell sendevent /dev/input/event3 0003 54 1785
adb shell sendevent /dev/input/event3 0003 48 6
adb shell sendevent /dev/input/event3 0003 49 6
adb shell sendevent /dev/input/event3 0003 50 1
adb shell sendevent /dev/input/event3 0003 60 4294967206
adb shell sendevent /dev/input/event3 0000 0000 0
ping 192.0.2.2 -n 1 -w 1000 > nul
:: release the button
adb shell sendevent /dev/input/event3 0003 57 4294967295
adb shell sendevent /dev/input/event3 0001 330 0
adb shell sendevent /dev/input/event3 0000 0 0

录制于三星Galaxy S4