我正在尝试使用批处理文件(.bat)和adb shell发送触摸事件。
我尝试重新发送从adb shell getevents获得的事件,即使命令没有错误也无法正常运行。 有什么想法吗?
如何使用ADB shell在给定(x,y)坐标上模拟触摸事件和释放事件?
答案 0 :(得分:17)
由于它似乎根据Android版本而有所变化,我建议您按照以下说明操作:
启动您需要重现的转储动作事件:
~$ adb shell getevent | grep event2
grep
对过滤输出非常有用。
您想要复制的动作事件;
然后只需将转储中十六进制的所有值转换为十进制值! :)
要找到适合您的eventX,请执行以下操作:
启动终端并输入:
~$ adb shell getevent
您将看到快速移动的轨迹,例如/ dev / input / event4 ......
你必须在event4几个eventX和触摸时刻之后看到这些eventX
将是您的再现动作事件的输入界面! :)
答案 1 :(得分:10)
我设法在sony xperia LT26i上模拟了这个事件 使用
adb shell getevent | grep event2
捕获输入然后将所有值从十六进制转换为十进制, 并将生成的序列放在一个shellscript中
adb shell sendevent /dev/input/event2 3 57 23710
adb shell sendevent /dev/input/event2 3 53 329
adb shell sendevent /dev/input/event2 3 54 1183
adb shell sendevent /dev/input/event2 3 52 0
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4294967295
adb shell sendevent /dev/input/event2 0 0 0
我从链接论坛中的帖子中得知第2行和第3行正在设置X和Y位置 接下来的两行是触摸按键,底部两行是触摸释放,我还没弄清楚第一行的功能是什么,但需要它才能工作。 我希望这对你有用