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

2024-02-24 13:04

本文主要是介绍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

这篇关于Android14之input高级调试技巧(一百八十八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方