Android14之input高级调试技巧(一百八十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Android14之input高级调试技巧

2.Android input命令介绍

  • Android的input命令是一个非常有用的命令行工具,可以帮助用户模拟输入各种文本、字符和按键,以测试和开发Android应用程序。
    该命令可以通过在终端中输入命令来执行。首先,需要连接到Android设备,可以使用adb连接,然后使用input命令。具体的命令格式如下:
input <command>

其中,command是输入的命令,可以是以下几种:

  • text:输入文本字符串。例如,使用命令input text Hello World可以在屏幕上输入“Hello World”。
  • tap:在屏幕上模拟点击。可以使用坐标来指定点击的位置,例如input tap 100 200表示在屏幕上(100,200)的位置点击。
  • longpress:模拟长按。可以使用坐标来指定长按的位置,例如input longpress 100 200表示在屏幕上(100,200)的位置长按。
  • swipe:模拟滑动。需要指定开始坐标、结束坐标和滑动时间,例如input swipe 100 200 300 400 500表示从(100,200)滑动到(300,400),持续500毫秒。
  • press:模拟按下按钮。可以使用不同的按钮,例如input keyevent 82表示按下“Back”按钮,input keyevent 4表示按下“DPAD_CENTER”按钮。
  • input命令可以模拟多种输入操作,可以帮助开发者在没有物理接触设备的情况下测试和调试应用程序。例如,可以使用input命令模拟用户输入文本、点击按钮、滑动屏幕等操作,以测试应用程序的响应和功能是否正常。此外,input命令还可以用于自动化测试,编写脚本来自动化测试和验证应用程序的功能。
  • Android的input命令是一个非常实用的工具,可以帮助开发者在测试和开发应用程序时模拟各种输入操作,确保应用程序的功能和性能正常。

3.input命令用法

input命令支持以下内容

1、text:支持输入文本内容
2、keyevent:模拟按键

3、tap:点击

4、swipe:滑动

5、press:模拟按键按下

6、roll:模拟手动滚动

1、text:支持输入文本内容(暂不支持中文)

1.首先打开一个输入的文本文件2.然后输入:
# adb shell input text  222

2、keyevent:模拟按键

1.模拟手机按键home
# adb shell  input keyevent 32.长按HOME键
# adb shell input keyevent --longpress 3

3、tap:点击

获取桌面所有icon的坐标

2.dump所有icon的坐标
# adb shell uiautomator dump
UI hierchary dumped to: /sdcard/window_dump.xml2.桌面所有的icon生成路径:/sdcard/window_dump.xml
# adb pull /sdcard/window_dump.xml3.查看"设置"应用icon的坐标
<node index="1" text="设置" resource-id="" class="android.widget.TextView" package="com.android.launcher3" content-desc="设置" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="true" password="false" selected="false" bounds="[644,1258][851,1622]"/>使用uiautomator定位工具查看坐标范围:[644,1258] - [851,1622],然后求出中间值 [(644 + 851)/2] -  [(1258 + 1622)/2] = [747 1440]4.点击指定的坐标
# adb shell input tap 747 1440Or:在[644,1258] - [851,1622]范围内即可。
# adb shell input tap 670 1400

4、swipe:滑动

和tap一样,只不过需要选取两个个坐标进行滑动,坐标选取的是(x1/2 Y3/4 x1/2 Y1/4)

[644,1258] - [851,1622]

1.下划
# adb shell input swipe 670 1200  670 1600Or
# adb shell input swipe 670 1200  800 1600 100100:表示持续100毫秒2.上划
# adb shell input swipe 670 1600  670 1200Or
# adb shell input swipe 800 1600  670 1200 200200:表示持续200毫秒

5、press:模拟按键按下

# adb shell input press

6、roll:模拟手动滚动

1.向下划动
# adb shell input roll 400 400

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GPTs分享】GPTs分享之consensus

大家好&#xff0c;元宵节快乐&#xff0c;今天给大家分享的GPTs是consensus。consensu号称无需关键字即可搜索2亿文章&#xff0c;而且给出的链接绝对保真&#xff0c;不再是胡编乱造的&#xff0c;而且能够根据指定主题辅助编写论文或者博客。 简介 consensus使用chat.cons…

SQL-Labs靶场“46-50”关通关教程

君衍. 一、四十六关 ORDER BY数字型注入1、源码分析2、rand()盲注3、if语句盲注4、时间盲注5、报错注入6、Limit注入 二、四十七关 ORDER BY单引号报错注入1、源码分析2、报错注入3、时间盲注 三、四十八关 ODRER BY数字型盲注1、源码分析2、rand()盲注3、if语句盲注4、时间盲注…

东方博宜 1518. 多项式求和

东方博宜 1518. 多项式求和 #include<iostream> using namespace std ; int main() {int n ;cin >> n ;int s 0 ;int m 1 ;for(int i 1 ; i < n ; i){ int n 1 ;for( int j 1 ; j < i ; j)n n*j ;s s n*m ;m m*(-1) ;}cout << s ;return 0 ;…

10GBase-T万兆电口模块助力数据中心实现高效数据传输

10GBase-T万兆电口模块一种高速、高效的网络连接解决方案&#xff0c;具有快速传输速度和稳定可靠的特点。它可以在数据中心中广泛应用&#xff0c;提供出色的网络性能和可扩展性&#xff0c;为数据中心的发展做出了重要的贡献。 一、10GBase-T万兆电口模块的特点与优势 高速传…

【Android】View 与 ViewGroup

View 是 Android 所有控件的基类&#xff0c;我们平常所用的 TextView 和 ImageView 都是继承自 View 的&#xff0c;源码如下&#xff1a; public class TextView extends View implements ViewTreeObserver.OnPreDrawListener {... }public class ImageView extends View {.…

如何成为一个好的程序员?

成为一个好的程序员需要不断学习、实践和提升自己的技能。以下是一些建议&#xff0c;可以帮助您成为一个优秀的程序员&#xff1a; 学习编程基础&#xff1a;掌握编程语言的基础知识&#xff0c;包括语法、数据结构、算法等。建议从一门流行的编程语言开始学习&#xff0c;如P…

前端工程化面试题 | 18.精选前端工程化高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Linux下各种压缩包的压缩与解压

tar 归档&#xff0c;不压缩&#xff0c;常见后缀 .tar # 将文件夹归档成为一个包 tar cf rootfs.tar rootfs # 将归档包还原为文件夹 tar xf rootfs.tar # 将归档包还原到路径 a/b/c tar xf rootfs.tar -C a/b/cgzip压缩&#xff0c; 常见后缀 .tar.gz .tgz # 压缩 tar czf …

神经网络系列---损失函数

文章目录 损失函数均方误差&#xff08;Mean Squared Error&#xff0c;MSE&#xff09;&#xff1a;平均绝对误差&#xff08;Mean Absolute Error&#xff0c;MAE&#xff09;&#xff1a;交叉熵损失函数&#xff08;Cross-Entropy Loss&#xff09;&#xff1a;Hinge Loss&a…

Unity资源加密解决方案

据统计&#xff0c;全球范围内超过50%的游戏均使用Unity创作而成&#xff0c;作为游戏开发市场第一大游戏引擎占有者&#xff0c;Unity已经全面覆盖到各个游戏平台。 全球游戏引擎市场占有率 由于体量庞大&#xff0c;Unity游戏已成为受游戏黑灰产攻击的重灾区&#xff0c;因游…

【Elasticsearch专栏 15】深入探索:Elasticsearch使用API删除旧数据

导言 在大数据和实时分析的世界里&#xff0c;Elasticsearch因其强大的搜索和索引功能而被广泛使用。但随着时间的推移&#xff0c;数据量的增长&#xff0c;索引中的旧数据可能变得不再相关或占用大量存储空间&#xff0c;这时就需要一个策略来管理这些旧数据。除了使用Logst…

智慧库室管控系统-部队装备综合管理系统

项目背景 在建设万兆主干、千兆终端的监控专网的基础上&#xff0c;弹药库安全技术防范系统主要由库室管控平台、视频监控、入侵报警、出入控制&#xff0c;钥匙柜管理&#xff0c;环境监测、报警响应等子系统组成&#xff0c;采用不间断电源供电&#xff0c;在各系统独立运行…

【Linux】 faillock 命令使用

faillock 命令 faillock 命令是 PAM (Pluggable Authentication Modules) 的一部分&#xff0c;它被设计用来跟踪失败的登录尝试&#xff0c;并在连续失败尝试超过某个阈值时锁定账户。这个功能可以帮助系统管理员识别和防止暴力破解攻击。当一个用户连续多次输入错误的密码后&…

Python获取天气数据

下面这段代码是一个简单的Python脚本&#xff0c;用来从互联网上获取天气预报信息并打印出来。通过获取知心天气&#xff08;链接&#xff1a;https://www.seniverse.com/&#xff09;的天气数据&#xff0c;然后对数据进行解析&#xff0c;以此获得天气数据并最终显示出来。 具…

WIFI EEPROM 简略分析-MT7628 EEPROM ANALYSIS

经常做WIFI的同学都了解,硬件设计完成后经过射频的测试满足设计要求后,在量产以及生产中都需要对WIFI的射频需要校准,保证产品射频输出功率的一致性。 在开发阶段就必须需要了解WIFI的EEPROM都是一些什么参数,一般在硬件开发阶段会拿到芯片厂家都SDK,里面都包含对EEPROM的…

[SpringDataMongodb开发游戏服务器实战]

背景&#xff1a; xdb其实足够完美了&#xff0c;现在回想一下&#xff0c;觉得有点复杂&#xff0c;我们不应该绑定语言&#xff0c;最好有自己的架构思路。 七号堡垒作为成功的商业项目&#xff0c;告诉我&#xff1a;其实数据是多读少写的&#xff0c;有修改的时候直接改库也…

C语言:指针的进阶讲解

目录 1. 二级指针 1.1 二级指针是什么&#xff1f; 1.2 二级指针的作用 2. 一维数组和二维数组的本质 3. 指针数组 4. 数组指针 5. 函数指针 6. typedef的使用 7. 函数指针数组 7.1 转移表 1. 二级指针 如果了解了一级指针&#xff0c;那二级指针也是可以很好的理解…

windows安装onlyoffice8.0

安装erlang 安装Erlang25.3 下载地址 设置环境变量 ERLANG_HOME C:\Program Files\Erlang OTP Path下设置%ERLANG_HOME%\bin 打开cmd输入erl不报错即可 安装rabbitmq rabbitmq和erlang对应的关系 下载地址 执行完exe文件后&#xff0c;找到安装目录下的sbin&am…

网络原理——HTTP

1. 什么是HTTP协议 HTTP是应用层的协议。Java最主要的应用场景是做网站&#xff0c;而网站由 后端&#xff08;HTTP服务器&#xff09; 和 前端&#xff08;浏览器&#xff09;组成&#xff0c;HTTP协议就是负责这里后端和前端的数据交互。 HTTP3.0 之前在传输层是通过 TCP传…

Linux:Jenkins:GitLab+Maven+Jenkins的部署——离线包rpm版

Linux&#xff1a;Jenkins&#xff1a;GitLabMavenJenkins的部署&#xff08;1&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/136157018?spm1001.2014.3001.5501这个是原版文章&#xff0c;均是使用的在线情况&#xff0c;但是不排除会有离线部署&am…