use*_*917 3 user-interface automation android adb
我正在执行一些ui自动化操作,并且能够使用getevent存储屏幕触摸,但是当我尝试使用sendevent发送此消息时,它会花费很长时间,因此很难真正重播输入。
我已经尝试将脚本加载到设备上并在设备上本地运行脚本(带有一堆sendevent命令的脚本)。但这只是稍微改善了一点。还有其他方法可以更快地注入这些命令吗?
小智 5
触摸处理程序在不同设备上的实现方式有所不同。您应该cat /proc/bus/input/devices查看在何处实现了触摸处理程序。
您还可以执行adb shell getevent,与设备进行交互并查看接口名称的输出。
重播需要很长时间的原因是因为sendevent二进制文件会打开接口文件,向其中写入数据,并在每次调用sendevent时关闭它。因此,从理论上讲,如果您有一堆sendevent命令,则二进制文件将打开接口文件,写入数据并为每个命令关闭数据。
我解决此问题的方法是,将/ system / core / toolbox下的sendevent.c文件重写为仅在重播期间打开一次文件,然后写入所有数据并在重播结束时将其关闭。它非常适合我!
| 归档时间: |
|
| 查看次数: |
5953 次 |
| 最近记录: |