1. 链接Android设备到电脑。
  2. 执行adb命令: adb shell getevent
  3. 此时触控手机屏幕,会看到命令窗口中打印出一堆设备日志。
  4. 打印出的/dev/input/event即为该手机的触屏事件。
  5. 接下来根据上一步获得的event,修改该命令为该设备的命令:adb shell getevent | grep dev/input/event > events
  6. 执行上述命令,并在手机上完成你需要的手势操作,完成操作之后关闭命令。
  7. 此时我们可以获得一份名为events的操作日志。
  8. 我们需要使用上面的日志使用sendevent命令来发送操作事件。但是上面的日志获取到的值为16进制,sendevent所需的参数为10进制,接下来进行转换。
  9. 下载该python脚本 getevent_to_sendevent.py
import os
import sys

filename = sys.argv[-1]

if filename != os.path.abspath(__file__):
   prefix = 'sendevent'
   with open(filename, 'r') as f:
       with open(filename+'.sh', 'w') as fw:
           fw.write('#!/bin/sh\n')
           for line in f.readlines():
               event = line.split(' ')
               device = event[0][:-1]
               _type = '%04d' % int(event[1], 16)
               code = '%04d' % int(event[2], 16)
               value = '%08d' % int(event[3], 16)
               content = f'{prefix} {device} {_type} {code} {value}\n'
               fw.write(content)
  1. 运行python getevent_to_sendevent.py events即可生成一个sh文件events.sh
  2. 执行adb push events.sh /sdcard/events.sh
  3. 执行adb shell sh /sdcard/events.sh