Android通过代码模拟物理、屏幕点击事件,adb 执行各种命令点击事件;

本文介绍了如何使用Android的getevent和sendevent工具模拟屏幕和物理按键操作,包括按键事件、绝对值事件的详细解释,以及如何通过adb执行各种输入事件。此外,还探讨了input命令的不同用法,如text、keyevent、tap和swipe,并提供了代码实现示例。
摘要由CSDN通过智能技术生成

本文讲的是通过使用代码,可以控制手机的屏幕和物理按键,也就是说不只是在某一个APP里去操作,而是整个手机系统。

getevent/sendevent
getevent&sendevent 是android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。getevent用于获取当前系统input设备的一些参数和实时事件的数据;sendevent用于发送input事件,这俩命令的作用就是相当于解放了手,可以通过命令直接调用Linux底层来控制手机,工具的源码位于Android SDK的system/core/toolbox下(sendevent.c getevent.c)。

getevent

用法说明:

# getevent -h
Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-p] [-q] [-c count] [-r] [device]
    -t: show time stamps
    -n: don't print newlines
    -s: print switch states for given bits
    -S: print all switch states
    -v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32)
    -p: show possible events (errs, dev, name, pos. events)
    -q: quiet (clear verbosity mask)
    -c: print given number of events then exit
    -r: print rate events are received


其中 [-t] 参数显示事件的时间戳,[-n] 取消事件显示时的换行符,[-s switchmask] 得到指定位的开关状态,[-S] 得到所有开关的状态,[-v [mask]] 根据mask的值显示相关信息,后面详细介绍mask的使用方法,[-p] 显示每个设备支持的事件类型和编码,[-q] 只显示事件数据,[-c count] 只显示count次事件的数据,[-r] 显示事件接收频率。

shell@android:/ $ getevent -p
getevent -p
add device 1: /dev/input/event7
  name:     "gpio-keys"
  events:
    KEY (0001): 0066
  input props:
    <none>
add device 2: /dev/input/event2
  name:     "alps"
  events:
    ABS (0003): 0000  : value 12, min -4096, max 4096, fuzz 0, flat 0, resolution 0
                0001  : value -4, min -4096, max 4096, fuzz 0, flat 0, resolution 0
                0002  : value -252, min -4096, max 4096, fuzz 0, flat 0, resolution 0
                000a  : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
                0010  : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
                0011  : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
  input props:
    <none>
add device 3: /dev/input/event6
  name:     "7k_handset"
  events:
    KEY (0001): 006b  0072  0073  0074  00e2
  input props:
    <none>
add device 4: /dev/input/event5
  name:     "proximity_sensor"
  events:
    ABS (0003): 0019  : value 1, min 0, max 1, fuzz 0, flat 0, resolution 0
  input props:
    <none>
add device 5: /dev/input/event4
  name:     "accelerometer_sensor"
  events:
  input props:
    <none>
add device 6: /dev/input/event3
  name:     "magnetic_sensor"
  eve
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值