通过adb模拟快速的屏幕点击

tips:高版本的此方法行不通了,低于Android10的可以尝试一下,高版本的可以研究一下下面这个框架

Genymobile/scrcpy

最近在做远程控制,关于这个框架欢迎评论区讨论。

想必当你看到这篇文章之前,你可能已经尝试了很多,用下面所说的这种方法:
我们都知道通过下面的命令可以模拟屏幕单击:

adb shell input tap x y

但是发现在尝试了之后,手机的响应速度非常的慢,这显然不是我们想要的结果。
分析原因,这是因为adb是java环境的,发送到手机之后,系统在写入文件,然后响应事件,这一过程就显得很繁琐,你我们有没有什么办法去直接写入事件文件呢?


下面开始讲重点,记好笔记,要考

  1. 进入adb shell命令行
  2. 输入getevent -l进入event事件的监听,这个时候命令行会block住,然后你在屏幕点击你想要点击的位置,你会发现会打印如下的信息:
    /dev/input/event1: EV_ABS       ABS_MT_TRACKING_ID   00000274
    /dev/input/event1: EV_KEY       BTN_TOUCH            DOWN
    /dev/input/event1: EV_KEY       BTN_TOOL_FINGER      DOWN
    /dev/input/event1: EV_ABS       ABS_MT_POSITION_X    0000025a
    /dev/input/event1: EV_ABS       ABS_MT_POSITION_Y    000005c3
    /dev/input/event1: EV_SYN       SYN_REPORT           00000000
    /dev/input/event1: EV_ABS       ABS_MT_TRACKING_ID   ffffffff
    /dev/input/event1: EV_KEY       BTN_TOUCH            UP
    /dev/input/event1: EV_KEY       BTN_TOOL_FINGER      UP
    /dev/input/event1: EV_SYN       SYN_REPORT           00000000
    

    ABS_MT_POSITION_X ABS_MT_POSITION_Y就是你点击的位置,都是16进制的。但是我们的重点不在这里,我们的重点是前面的路径,也就是/dev/input/event1 ,这是系统的事件节点,同样我们可以的input目录下面发现很多这样的节点:

    130|vince:/ # ls /dev/input/
    event0 event2 event4 event6 eventX mouse0
    event1 event3 event5 event7 mice   mouse1
    
  3. 接下来我们把尝试把点击的事件文件记录下来,一开始我尝试下面的方法:
    dd if=/dev/input/event1 of=/sdcard/event1
    

    想通过这个方法来保存事件的信息,但是系统直接提示:意思就是没有数据写出,获得的文件是空白的,这很明显不行

    1|vince:/ # dd if=/dev/input/event1 of=/sdcard/event1
    ^C0+2 records in
    0+0 records out
    0 bytes transferred in 2.376 secs (0 bytes/sec)
    
  4. 然后我发现通过cat去打印event1,屏幕上面显示了一堆乱码,然后我机智的把这段乱码保存了起来:
    cat /dev/input/event1 > /sdcard/event1
    

    然后得到了一样的一行乱码

    130|vince:/ # cat /sdcard/event1
    ?L?\g?9v?L?\g?J?L?\g?E?L?\g?5??L?\g?63?L?\g?1?L?\g??L?\N9?????L?\NJ?L?\NE?L?\Nvi
    
  5. 紧接着,把这个文件直接写入的event1
    dd if=/sdcard/event1 of=/dev/input/event1
    

    终于有反应了,大功告成,最后写一个循环的脚本,就可以不断的点击了,nice~~

    while : ; do dd if=/sdcard/event1 of=/dev/input/event1 ; done
    

通过adb模拟快速的屏幕点击,小米手机亲测有效相关推荐

  1. Android代码模拟物理、屏幕点击事件

    一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) {long dow ...

  2. Android代码模拟物理、屏幕点击事件 、APP内部自动点击

    一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) {long dow ...

  3. 【android】几种模拟按键、屏幕点击的方法

    模拟按键: 1. new Instrumentation().sendKeyDownUpSync(int keycode); 发送keycode,down,up都会发送一遍 2. new Instru ...

  4. 苹果手机怎么解屏幕锁_小米手机刷机第1步:解BL锁教程

    本文首发我的微信公众号:酷客fans 玩机教程,ROM资源,主题推荐,原生进阶指南,教你如何玩转安卓,欢迎关注. 第一步:解锁 现在很多手机都有一个BL锁,其主要目的是为了用户的隐私数据安全.但是对于 ...

  5. adb 模拟键盘输入、点击屏幕、滑动、按键等操作

    1. 模拟键盘输入 adb shell input keyboard text "abc" 2. 模拟点击屏幕指定位置 adb shell input tap 500 500 3. ...

  6. adb 屏幕滑动_安卓通过adb 模拟键盘输入、点击屏幕、滑动、按键

    1. 模拟键盘输入 adb shell input keyboard text "abc" 复制代码 2. 模拟点击屏幕指定位置 adb shell input tap 500 5 ...

  7. Android通过代码模拟物理、屏幕点击事件

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

  8. iPad投影到Windows电脑屏幕上的方法【亲测,均为免费软件,均可用,仅供学习使用】

    [亲测,均为免费软件,均可用,仅供学习使用] 1.AirPlayer 2.LonelyScreen 3.ApowerMirror

  9. adb按键精灵_自动点击器adb版最新版下载|自动点击器adb版安卓版下载 v1.0.5 - 跑跑车安卓网...

    一款支持手机屏幕自动点击功能的手机自动点击器app,下载自动点击器ADB版即可帮助自动化点击操作手机屏幕,游戏操作更方便. 软件介绍 自动点击器 ADB版本 可以模拟用户点击行为,实现自动点击,辅助你 ...

最新文章

  1. 健身三大供能系统详解
  2. linux强行卸载qt,Linux下卸载QT SDK
  3. 电脑反应慢卡怎么解决_电脑键盘失灵怎么解决
  4. mysql 一对多 join_Mysql中FIND_IN_SET与JOIN在一对多关系查询时的优劣
  5. 微型计算机接口部件的结构,微机接口课后习题解析.doc
  6. 装箱与拆箱的概念及意义
  7. 原生php ajax post_php下的原生ajax请求用法实例分析
  8. 6种展示代码的绝佳方式
  9. UG NX 12 草图尺寸小数点怎么更改?
  10. 接口测试工具Hoppscotch
  11. 解决:uni-app 图片加载不出来
  12. Cisco 2960 3750交换机端口流量的限速(QOS)详解
  13. Data truncation: Data too long for column ‘xxx‘
  14. JS验证电话和传真号码格式
  15. 计算机网络三级证书含金量,【热点】计算机三级证书有用吗,计算机三级证书含金量如何...
  16. 会python_会Python的人,一毕业即高薪?
  17. Centos7 网卡配置及静态IP配置
  18. 小孩子mysql_mysql查询,救救孩子
  19. 用小程序搭建智能家居平台靠谱吗?
  20. 什么是情商?丨附思维导图和提高情商的小建议

热门文章

  1. 怎么用python抓取网页数据
  2. spark-sql总结
  3. Java监听mysql的binlog详解(mysql-binlog-connector)
  4. java菜鸟1:jdk 安装
  5. 基于PCA的人脸识别
  6. Linux服务器开发,Posix API与网络协议栈
  7. Poster Design
  8. vue UI(Vertify和Element)优缺点随录
  9. 计算机的冷启动与热启动
  10. GSoC: GitHub Checks API 项目第一阶段总结