对低概率问题,需要多次测试以复现问题,使用脚本更容易实现,避免频繁人工操作

首先要了解手机的众多输入设备:

命令:adb shell cat /proc/bus/input/devices/

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="qpnp_pon"
P: Phys=qpnp_pon/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=40
B: EV=3
B: KEY=14000000000000 0

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="qcom-tpd"
P: Phys=
S: Sysfs=/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input1
U: Uniq=
H: Handlers=mdss_fb kgsl event1 
B: PROP=2
B: EV=b
B: KEY=ff000000000000 0 0 0 0 0 400 0 0 0 160000000000 4004001400000
B: ABS=261800000000000

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="gf5216"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2 
B: PROP=0
B: EV=3
B: KEY=2000000040000800 1016c000000008 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="qwerty"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3 
B: PROP=0
B: EV=3
B: KEY=2000000040000800 1016c000000008 0

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/soc/soc:gpio_keys/input/input4
U: Uniq=
H: Handlers=event4 
B: PROP=0
B: EV=3
B: KEY=4000000000000000 0 0 10000 0 0 0 0 0 0 8000000000000 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="msm8952-snd-card-mtp Headset Jack"
P: Phys=ALSA
S: Sysfs=/devices/soc/c051000.sound/sound/card0/input5
U: Uniq=
H: Handlers=event5 
B: PROP=0
B: EV=21
B: SW=3c0d4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="msm8952-snd-card-mtp Button Jack"
P: Phys=ALSA
S: Sysfs=/devices/soc/c051000.sound/sound/card0/input6
U: Uniq=
H: Handlers=event6 
B: PROP=40
B: EV=3
B: KEY=e0 400000000 0 c000000000000 0

对应输入设备的Name匹配我们需要使用的设备信息,

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="qcom-tpd"
P: Phys=
S: Sysfs=/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input1
U: Uniq=
H: Handlers=mdss_fb kgsl event1 
B: PROP=2
B: EV=b
B: KEY=ff000000000000 0 0 0 0 0 400 0 0 0 160000000000 4004001400000
B: ABS=261800000000000

发现给设备对应tp。

命令:adb shell getevent /dev/input/event1

输入该命令后,做点击屏幕操作,这里我们以点击拍照为例:

终端输出:

0003 0039 00000000
0003 0030 00000003
0003 0035 00000163
0003 0036 00000476
0001 014a 00000001
0000 0000 00000000
0003 0030 00000004
0000 0000 00000000
0001 014a 00000000
0000 0000 00000000

注意:点击不同的点会输出不同的信息,这里的输出对应这点击事件的具体信息,我们之需要在脚本中做写下相同的命令既可以实现同样的操作

下面开始写脚本使用sendevent命令(这里需要注意的是,上买你的输出为十六进制,需要自行转换成十进制):

sendevent /dev/input/event1 0003 57 00000000
sendevent /dev/input/event1 0003 48 00000003
sendevent /dev/input/event1 0003 53 355
sendevent /dev/input/event1 0003 54 1142
sendevent /dev/input/event1 0001 330 00000001
sendevent /dev/input/event1 0000 0000 00000000
sendevent /dev/input/event1 0003 48 00000004
sendevent /dev/input/event1 0000 0000 00000000
sendevent /dev/input/event1 0001 330 00000000
sendevent /dev/input/event1 0000 0000 00000000

写完脚本touch.sh文件

使用命令afb push touch.sh /sdcard/把脚本导入手机

然后执行adb shell sh /sdcard/touch.sh

确认手机是否会出现同样操作

根据这个步骤也可以尝试写一些相关其他设备的输入,当我们需要重复点击时,之需要在脚本写个循环就可以实现自动压力测试了

android 脚本模拟点击屏幕相关推荐

  1. Android 关于模拟点击和Hook框架的杂谈

    1. 背景 就跟我们以前玩页游挂机一样,Android端也有游戏,而且样式繁多,如果重复的操作每次都要自己重复一遍操作,那不得烦死,所以就有了这篇文章,本文仅探讨方案,大家可以尝试.而且现在的模拟器( ...

  2. java+ADB—循环模拟点击屏幕,解放双手

    /*** @author 周伟强* @Description TODO* @date 2023/2/21 12:03* @Copyright All rights reserved.* desc:ja ...

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

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

  4. Android在任何地方模拟点击屏幕

    要求: 在Android上按像素位置进行模拟屏幕点击,无论前台程序是什么(类似于按键精灵). 解决方案: 使用安卓中的linux命令行来进行模拟(可以完成目标但是不优雅). 前提知识: ADB中可以使 ...

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

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

  6. Android中模拟点击软件的实现原理探究

    简介 按键触摸类模拟点击软件最早开始于PC时代,指的是可以通过设置.脚本控制等方式去实现模拟点击,解放双手,达到自动化操作的目的.在Android中,模拟点击对应的就是触发屏幕点击事件,多用于游戏中完 ...

  7. android+usb模拟点击,Android后台模拟点击探索(附源码)

    工作中我们需要自制一套工具,其中遇到需要模拟点击事件的需求,类似按键精灵的功能,支持后台持续运行,满足触发条件时完成点击. 经过一番探索,一共整理出两种不同的方案:AccessibilityServi ...

  8. android adb模拟点击,Android adb 模拟滑动 按键 点击事件(示例代码)

    模拟事件全部是通过input命令来实现的,首先看一下input命令的使用: usage: input ... input text input keyevent input tap input swi ...

  9. android root 模拟点击,免ROOT实现模拟点击任意位置

    微信7.0版本之前抢红包插件点击基本上都借助AccessibilityService无障碍的performClick方法点击控件,不过7.0版本的微信的红包控件(view)没有id这一项了,所以per ...

最新文章

  1. web窗体的基本控件
  2. 手机拍照显示_最值得购买的4款5G手机,每款都有一技之长,有你在用的吗?
  3. 知乎神回复:普通程序员一天的工作生活是怎样的?网友实名羡慕!
  4. 【转】Maven实战(八)---模块划分
  5. 手机当中的wifi功能是什么意思?
  6. 字符串当id用 转换成json对象
  7. SQL数据分析之数据提取、数据查询、数据清洗【MySQL速查】
  8. MySQL转账储存过程_实用的银行转账存储过程和流水号生成存储过程
  9. 在美国租房子需要考虑什么问题?
  10. 闲人博上介绍R语言的一篇好文章
  11. 【建筑性能分析入门笔记】建筑能耗建模(1)
  12. Fortran 求矩阵的逆、行列式的值
  13. 财务系统数字转化方法
  14. ARM与NEON加速指令
  15. 800个有趣句子帮你记忆7000个单词
  16. 调用HINSTANCE hInst = AfxGetInstanceHandle();程序在ASSERT(afxCurrentInstanceHandle != NULL);崩溃
  17. Rethinking BiSeNet For Real-time Semantic Segmentation代码
  18. Camtasia Studio喀秋莎2021安装下载注册及使用的意外问题解决办法,值得收藏
  19. Windows 彻底卸载联软流氓软件(亲测可用)
  20. 不同场景下的授信额度模型分析

热门文章

  1. 【Vulnhub靶场】THOTH TECH: 1
  2. C语言scanf函数用法详细解释!!!
  3. Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写
  4. soot中基本的对象
  5. android 微信分享注册链接显示app的logo出现黑边处理方案
  6. 面试经历——2月17日
  7. 【分享】光纤光缆PPT
  8. linux里的计划任务
  9. python实验室怎么样_跟老齐学Python之一个免费的实验室
  10. 【linux kernel】基于ARM64分析linux内核的链接脚本vmlinux.lds.S