【问题标题】:How to draw pattern by adb input touchscreen swipe?如何通过 adb 输入触摸屏滑动来绘制图案?
【发布时间】:2019-05-19 15:47:29
【问题描述】:

"adb shell input touchscreen swipe 500 500 1000 1000" 只画直线

有没有办法一次画出“L”或“N”之类的线?

谢谢

【问题讨论】:

  • 你检查我的答案了吗?它对你有用吗?

标签: android input adb swipe touchscreen


【解决方案1】:

在对 google 进行了一些研究之后,我得到了一个使用 geteventsendevent 命令的解决方案。

获取事件
使用 get event 命令,您必须记录滑动模式的事件。这可以使用以下命令完成。

adb shell getevent | find "event1"

运行上述命令并在手机中滑动。上面的命令将生成一些事件集。您最好将该数据写入文件,因为会产生 300 到 500 行。

录制完成后,文件将如下所示

/dev/input/event1: 0003 0039 00000099
/dev/input/event1: 0001 014a 00000001
/dev/input/event1: 0001 0145 00000001
/dev/input/event1: 0003 0035 000001a0
/dev/input/event1: 0003 0036 00000655
/dev/input/event1: 0003 0030 00000005
/dev/input/event1: 0003 0031 00000005
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0003 0035 000001a1
/dev/input/event1: 0003 0030 00000006
-------------------------------------
-------------------------------------

在上面的文件中,最后两列是十六进制格式。您需要将它们转换为十进制格式。您可以编写一些实用工具将它们转换为十进制格式。将它们转换为十进制格式后,现在您必须使用 sendevent 命令

发送事件 现在使用 sendevent 构造以下命令。

adb shell sendevent /dev/input/event1 0003 57 153
adb shell sendevent /dev/input/event1 0001 330 1
adb shell sendevent /dev/input/event1 0001 325 1
adb shell sendevent /dev/input/event1 0003 53 416
adb shell sendevent /dev/input/event1 0003 54 1621
adb shell sendevent /dev/input/event1 0003 48 5
adb shell sendevent /dev/input/event1 0003 49 5
adb shell sendevent /dev/input/event1 0000 0 0
adb shell sendevent /dev/input/event1 0003 53 417
adb shell sendevent /dev/input/event1 0003 48 6
-----------------------------------------------
-----------------------------------------------

如果您看到最后 3 列,则第一列与 getevet 列相同,最后两列是十进制等效于 getevent 后 2 列。

现在,如果您在批处理文件中运行上述命令,记录的图案将绘制在屏幕上。

【讨论】:

猜你喜欢
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多