手机连接到ADB 输入命令
adb shell getevent -p
显示
从这里可以知道每一个/dev/input/event3: 0003 0035 00000161 event3是什么事件 便于以后进行分析简介代码
接下来输入
adb shell getevent
然后手机就可以接受手机屏幕上的点击事件的位置(不过是16进制)/dev/input/event3: 0003 0030 00000025/dev/input/event3: 0003 0032 00000005/dev/input/event3: 0003 0035 00000160 点击事件位置/dev/input/event3: 0003 0036 00000226 点击事件位置/dev/input/event3: 0000 0002 00000000 /dev/input/event3: 0000 0000 00000000 /dev/input/event3: 0003 0030 00000025/dev/input/event3: 0003 0032 00000005/dev/input/event3: 0003 0035 00000160/dev/input/event3: 0003 0036 00000226/dev/input/event3: 0000 0002 00000000/dev/input/event3: 0000 0000 00000000/dev/input/event7: 0003 0028 00000012/dev/input/event7: 0000 0000 00000000/dev/input/event3: 0000 0002 00000000/dev/input/event3: 0000 0000 00000000/dev/input/event7: 0003 0028 00000016/dev/input/event7: 0000 0000 00000000/dev/input/event7: 0003 0028 00000018/dev/input/event7: 0000 0000 00000000/dev/input/event3: 0000 0002 00000000/dev/input/event3: 0000 0000 00000000
接下来可以通过16进制转换器将/dev/input/event3: 0003 0035 00000161 的数字转化为10进制 让后再在前面加上sendevent例如
sendevent /dev/input/event3 3 48 37 可以删除sendevent /dev/input/event3 3 50 5保留一个sendevent /dev/input/event3 3 53 352 点击事件位置sendevent /dev/input/event3 3 54 550 点击事件位置 sendevent /dev/input/event3 0 2 0事件分割sendevent /dev/input/event3 0 0 0 事件分割sendevent /dev/input/event3 3 48 37sendevent /dev/input/event3 3 50 5sendevent /dev/input/event3 3 53 352sendevent /dev/input/event3 3 54 550sendevent /dev/input/event3 0 2 0sendevent /dev/input/event3 0 0 0sendevent /dev/input/event7 3 40 18sendevent /dev/input/event7 0 0 0sendevent /dev/input/event3 0 2 0sendevent /dev/input/event3 0 0 0sendevent /dev/input/event7 3 40 22sendevent /dev/input/event7 0 0 0sendevent /dev/input/event7 3 40 24sendevent /dev/input/event7 0 0 0sendevent /dev/input/event3 0 2 0sendevent /dev/input/event3 0 0 0
这些就是一个完整的点击事件的过程这个 时候可以对比之前所查看的adb shell getevent -p 命令显示的event事件事件 /dev/input/event3 name: "atmel-touchscreen" /dev/input/event1 name: "huawei_keypad" /dev/input/event7 name: "light sensor" /dev/input/event4 name: "l3g4200d_gyr"
简洁版sendevent /dev/input/event3 3 50 5sendevent /dev/input/event3 3 53 352 sendevent /dev/input/event3 3 54 550 sendevent /dev/input/event3 0 2 0 sendevent /dev/input/event3 0 0 0 sendevent /dev/input/event3 0 2 0sendevent /dev/input/event3 0 0 0sendevent /dev/input/event3 0 2 0
接下来是一个长按事件
长点击事件sendevent /dev/input/event3 3 50 5sendevent /dev/input/event3 3 53 80sendevent /dev/input/event3 3 54 429sendevent /dev/input/event3 0 2 0 sendevent /dev/input/event3 0 0 0 sendevent /dev/input/event3 0 2 0
试了很多次发现了以上的规律 虽然不知道为什么
点击流程sendevent /dev/input/event3 3 50 5sendevent /dev/input/event3 3 53 352 sendevent /dev/input/event3 3 54 550 sendevent /dev/input/event3 0 2 0 点击还未进入长点击状态sendevent /dev/input/event3 0 0 0 sendevent /dev/input/event3 0 2 0 点击后进入长点击状态sendevent /dev/input/event3 0 0 0sendevent /dev/input/event3 0 2 0点击使事件结束 长点击状态消失
然后就可以得到我们需要点击的地方的一个事件
进入到 adb shell
输入我们整理过的简洁版的代码
就可以看到手机相应位置发生了点击事件