使用ADB模拟触摸

我正在尝试使用batch file(.bat)和adbshell发送触摸事件。

我尝试重新发送从adb shell getevents得到的事件,即使命令通过没有错误,它也不起作用。 有任何想法吗?

如何使用ADBshell在给定(x,y)坐标上模拟触摸事件和释放事件?

Solutions Collecting From Web of "使用ADB模拟触摸"

由于它似乎改变取决于Android版本,我build议你按照这些指示:

  1. 启动转储运动事件,你需要重现:

    ~$ adb shell getevent | grep event2 

    grep对于过滤输出非常有用。

  2. 做你想重现的运动事件;

  3. 然后只需要将转储中的hex的所有值转换为十进制值! 🙂


要findeventX正在为您工作,请执行以下操作:

  1. 启动terminal并键入:

     ~$ adb shell getevent 

你会看到快速移动的痕迹,例如/ dev / input / event4 ……

  1. 触摸屏一次

在触摸的瞬间,你必须在event4之间看到eventX和这个eventX

将是你的input界面,用于再现运动事件! 🙂

来源 。

我设法模仿索尼xperia LT26i事件使用

 adb shell getevent | grep event2 

捕获input,然后将所有值从hex转换为十进制,并将生成的序列放在一个shell脚本中

 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 

我从链接论坛的post中发现,第2行和第3行是设置X和Y的位置,接下来的2行是触摸按下,底部的2行是触摸释放,我还没有弄清楚第一行是什么,但它是需要的上class。 我希望这对你有用