我需要找到 android 模拟器的事件 ID
I need to find the event ID of an android emulator
我正在开发一个模拟器并通过模块 ppadb 控制它。滑动不够精确,我找到了一个脚本来使用 sendevent 但这样做我需要“事件 ID”。
self.device.shell(f'sendevent /dev/input/event{self.eventId} {event}')
有一个名为 getevent 的 shell 命令可以查看它,但我不知道如何在 python 中编写它。我希望在 pycharm 控制台中打印 getevent 结果。
你能帮帮我吗?
您可以在 shell 中 运行 getevent
一次并找出设备名称并在您的 Python 脚本中使用它来执行 sendevent
命令。或者您也可以使用 Python 中的 self.device.shell
命令来执行此操作。要找出设备的名称,您可以 运行 在 adb shell
会话中使用此命令:
getevent -pl 2>&1 | sed -n '/^add/{h}/ABS_MT_TOUCH/{x;s/[^/]*//p}'
现在它将 return 类似 /dev/input/event0
的东西,您可以将它与您已经必须将事件发送到该特定设备的命令一起使用。
如果 adb
命令在您的终端中不起作用,您可以导航到 Android SDK 文件夹中的 platform-tools
文件夹,然后从那里 运行 它(在我的情况是,我的模拟器是 event1):
我正在开发一个模拟器并通过模块 ppadb 控制它。滑动不够精确,我找到了一个脚本来使用 sendevent 但这样做我需要“事件 ID”。
self.device.shell(f'sendevent /dev/input/event{self.eventId} {event}')
有一个名为 getevent 的 shell 命令可以查看它,但我不知道如何在 python 中编写它。我希望在 pycharm 控制台中打印 getevent 结果。
你能帮帮我吗?
您可以在 shell 中 运行 getevent
一次并找出设备名称并在您的 Python 脚本中使用它来执行 sendevent
命令。或者您也可以使用 Python 中的 self.device.shell
命令来执行此操作。要找出设备的名称,您可以 运行 在 adb shell
会话中使用此命令:
getevent -pl 2>&1 | sed -n '/^add/{h}/ABS_MT_TOUCH/{x;s/[^/]*//p}'
现在它将 return 类似 /dev/input/event0
的东西,您可以将它与您已经必须将事件发送到该特定设备的命令一起使用。
如果 adb
命令在您的终端中不起作用,您可以导航到 Android SDK 文件夹中的 platform-tools
文件夹,然后从那里 运行 它(在我的情况是,我的模拟器是 event1):