简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中...... 】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中......】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注: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 3
2.长按HOME键
# adb shell input keyevent --longpress 3
3、tap:点击
获取桌面所有icon的坐标
2.dump所有icon的坐标
# adb shell uiautomator dump
UI hierchary dumped to: /sdcard/window_dump.xml
2.桌面所有的icon生成路径:/sdcard/window_dump.xml
# adb pull /sdcard/window_dump.xml
3.查看"设置"应用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 1440
Or:在[644,1258] - [851,1622]范围内即可。
# adb shell input tap 670 1400
4、swipe:滑动
和tap一样,只不过需要选取两个个坐标进行滑动,坐标选取的是(x1/2 Y 3/4 x1/2 Y1/4)
[644,1258] - [851,1622]
1.下划
# adb shell input swipe 670 1200 670 1600
Or
# adb shell input swipe 670 1200 800 1600 100
100:表示持续100毫秒
2.上划
# adb shell input swipe 670 1600 670 1200
Or
# adb shell input swipe 800 1600 670 1200 200
200:表示持续200毫秒
5、press:模拟按键按下
# adb shell input press
6、roll:模拟手动滚动
1.向下划动
# adb shell input roll 400 400