имитация касания с помощью ADB [дубликат]
этот вопрос уже есть ответ здесь:
- как использовать ADB для отправки сенсорных событий на устройство с помощью команды sendevent? 5 ответов
Я пытаюсь отправить сенсорные события с помощью пакетных файлов (.bat) и оболочка adb.
Я попытался повторно отправить события, которые я получаю от оболочки adb getevents, и это даже не работает хотя команда проходит без ошибок. Есть идеи?
как имитировать сенсорное событие и событие выпуска по заданной (x,y) координате с помощью оболочки ADB?
2 ответов
поскольку он, кажется, меняется в зависимости от версии Android, я предлагаю вам следовать этим инструкциям:
-
Start dump motion event вам нужно воспроизвести:
~$ adb shell getevent | grep event2
grep
очень полезно фильтровать выход. событие движения, которое вы хотите воспроизвести;
затем просто преобразуйте все значения из шестнадцатеричных в дамп в десятичные значения! :)
найти то, что eventX работает для вас:
-
запустите терминал и введите:
~$ adb shell getevent
вы увидите быстро движущиеся следы, например, с /dev/input / event4 ......
- сенсорный экран один раз
вы должны видеть между event4 несколько eventX и эти eventX прямо в момент касания
будет ваш входной интерфейс для воспроизведения событий движения! :)
мне удалось эмулировать событие на sony xperia LT26i используя
adb shell getevent | grep event2
для захвата и преобразования всех значений из Hex в десятичную, и поместив сгенерированную последовательность в 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 следующие 2 строки-touch press, а нижние 2 строки-touch release, я еще не понял, что делает первая строка, но она необходима для ее работы. Я надеюсь это полезно для вас