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://xiahunao.cn/news/2807440.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Android 内存优化内存泄漏处理

一:匿名内部类/非静态内部类 匿名内部类的泄漏原因&#xff1a;匿名内部类会隐式地持有外部类的引用.当外部类被销毁时&#xff0c;内部类并不会自动销毁&#xff0c;因为内部类并不是外部类的成员变量&#xff0c; 它们只是在外部类的作用域内创建的对象&#xff0c;所以内部…

数据结构与算法相关题解20240225

数据结构与算法相关题解20240225 一、58. 最后一个单词的长度二、48. 旋转图像三、69. x 的平方根四、50. Pow(x, n) 一、58. 最后一个单词的长度 简单 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度…

开源世界的学术问题

自由软件基金会是1983年成立的&#xff0c;到现在是41年。正好很有意思的是&#xff0c;在去年还有一篇文章&#xff08;CSDN 的翻译&#xff09;&#xff0c;专门在质疑说成立 40 年的自由软件基金会是不是已经快不行了&#xff0c;所以我们会用这个标题叫做兴衰发展历程来介绍…

无人机精准定位技术,GPS差分技术基础,RTK原理技术详解

差分GPS的基本原理 差分GPS&#xff08;Differential GPS&#xff0c;简称DGPS&#xff09;的基本原理是利用一个或多个已知精确坐标的基准站&#xff0c;与用户&#xff08;移动站&#xff09;同时接收相同的GPS卫星信号。由于GPS定位时会受到诸如卫星星历误差、卫星钟差、大…

创建者模式(Builder Pattern):构造复杂对象的通用解决方案

文章目录 **一、技术背景与应用场景****为何使用创建者模式&#xff1f;****典型应用场景包括但不限于&#xff1a;** **二、创建者模式定义与结构****三、使用步骤举例**四、优缺点分析总结 一、技术背景与应用场景 创建者模式是一种对象创建型设计模式&#xff0c;它通过将复…

修复Microsoft Edge WebView2无法安装的问题

修复Microsoft Edge WebView2无法安装的问题 场景解决方案 场景 系统&#xff1a;win11 电脑&#xff1a;联想14 前提&#xff1a;使用Geek Uninstaller强制删除了Microsoft Edge WebView2 同时下载了clash verge。 发现根本无法运行&#xff08;点击了无任何反应且图标颜色…

电影《热辣滚烫》观后感

过完年&#xff0c;回来的时候&#xff0c;上周看了这部电影《热辣滚烫》&#xff0c;是贾玲自导自演的一部电影&#xff0c;个人感觉还是非常好的&#xff0c;偏向小人物&#xff0c;写实风格。 &#xff08;1&#xff09;电影相关评价 但是你说这部电影有多立志&#xff0c…

vue2和vue3对比(语法层面)

阅读文章你将收获&#xff1a; 1 了解不使用组件化工具时&#xff0c;vue在html是如何使用的 2 知道vue2的生命周期函数有哪些 3 知道如何在组件化开发中使用vue 4 大致了解了vue2和vue3在使用上什么不同 最后&#xff1a;vue2和vue3除了下面我列出的有差异化的地方&…

勇宝趣学JavaScript第二章(解构赋值)

在ES6中&#xff0c;我们经常使用到解构赋值这个知识点&#xff0c;今天我们就来好好讲讲这一小部分知识点。咱们争取这回一次性讲明白。 今天是元宵节&#xff0c;祝大家节日快乐&#xff0c;只有我自己还在无聊的码字。 给我点个赞吧&#xff0c;嘿嘿&#xff01;&#xff01…

项目解决方案:视频监控AI智能分析和识别系统设计方案

目 录 一、需求分析 二、系统设计原则 2.1、先进性与适用性 2.2、经济性与实用性 2.3、可靠性与安全性 2.4、开放性 2.5、可扩充性 2.6、追求最优化的系统设备配置 三、系统架构 3.1软件架构 3.2系统说明 四、拉流模块服务器配置 一、需求分析 本系统设计…

力扣用例题:2的幂

此题的解题方法在于根据用例调整代码 bool isPowerOfTwo(int n) {if(n1){return true;}if(n<0){return false;}while(n>2){if(n%21){return false;}nn/2; }if(n1){return false;}return true;}

[LWC] Components Communication

目录 Overview ​Summary Sample Code 1. Parent -> Child - Public Setter / Property / Function a. Public Property b. Public getters and setters c. Public Methods 2. Child -> Parent - Custom Event 3. Unrelated Components - LMS (Lightning Message…

Mysql--索引分类

Mysql--索引分类 1. 索引分类2. 聚集索引&二级索引 1. 索引分类 在MySQL数据库&#xff0c;将索引的具体类型主要分为以下几类&#xff1a;主键索引、唯一索引、常规索引、全文索引。 2. 聚集索引&二级索引 而在在InnoDB存储引擎中&#xff0c;根据索引的存储形式&am…

计算机网络-网络互联

文章目录 网络互联网络互联方法LAN-LAN&#xff1a;网桥及其互连原理使用网桥实现LAN-LAN使用交换机扩展局域网使用路由器连接局域网 LAN-WANWAN-WAN路由选择算法非自适应路由选择算法自适应路由选择算法广播路由选择算法&#xff1a;分层路由选择算法 网络互联 网络互联是指利…

【云原生】Docker consul的容器服务更新与发现

目录 什么是服务注册与发现 什么是consul consul提供的一些关键特性&#xff1a; consul 部署 consul服务器 1. 建立 Consul 服务 设置代理&#xff0c;在后台启动 consul 服务端 2. 查看集群信息 查看members状态 查看集群状态 3. 通过 http api 获取集群信息 regi…

【leetcode热题】填充每个节点的下一个右侧节点指针 II

给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#xff0c;所有 next 指针都…

10-pytorch-完整模型训练

b站小土堆pytorch教程学习笔记 一、从零开始构建自己的神经网络 1.模型构建 #准备数据集 import torch import torchvision from torch.utils.tensorboard import SummaryWriterfrom model import * from torch.utils.data import DataLoadertrain_datatorchvision.datasets.…

3.openEuler物理存储及逻辑卷管理(一):磁盘存储挂载与使用

openEuler OECA认证辅导,标红的文字为学习重点和考点。 如果需要做实验,建议下载麒麟信安、银河麒麟、统信等具有图形化的操作系统,其安装与openeuler基本一致。 磁盘大类: HDD, (Hard Disk Drive的缩写) : 由一个或者多个铝制或者玻璃制成的磁性碟 片,磁头,…

C#最优队列最小堆小顶堆大顶堆小根堆大根堆PriorityQueue的使用

最优队列有多种叫法&#xff0c;什么小根堆&#xff0c;大根堆&#xff0c;小顶堆&#xff0c;大顶堆。 队列分多种&#xff0c;线性队列&#xff08;简单队列&#xff09;&#xff0c;循环队列&#xff0c;最优队列等等。 最优队列&#xff0c;可以看作堆叠箱子&#xff0c;…

指定指数x 计算e^x - 1 math.expm1(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 指定指数x 计算e^x - 1 math.expm1(x) 选择题 请问执行math.expm1(0)的运行结果是&#xff1a; import math print("【执行】math.expm1(0)") print (math.expm1(0)) print("【…