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


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

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

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

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

    欢迎关注Android系统攻城狮

    1.前言

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

    2.Android input命令介绍

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

    其中,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
    
    • 1
    • 2
    • 3
    • 4

    2、keyevent:模拟按键

    1.模拟手机按键home
    # adb shell  input keyevent 3
    
    2.长按HOME键
    # adb shell input keyevent --longpress 3
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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的坐标
    
    
    使用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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    4、swipe:滑动

    和tap一样,只不过需要选取两个个坐标进行滑动,坐标选取的是(x1/2 Y3/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毫秒
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    5、press:模拟按键按下

    # adb shell input press
    
    • 1

    6、roll:模拟手动滚动

    1.向下划动
    # adb shell input roll 400 400
    
    
    • 1
    • 2
    • 3
  • 相关阅读:
    逻辑漏洞----任意账号注册
    独家 | 使用python马尔科夫链方法建模星巴克等待时长
    MySQL底层原理二之锁机制
    gitlab配置webhook限制提交注释
    QT环境下,easylogging++解析配置参数错误的解决记录
    如何调用Zabbix API获取主机信息
    初次使用腾讯云,解决只能使用webshell连接,不能使用ssh连接。
    认识线程,初始并发
    android使用真随机算法模拟彩票号码生成器
    基于串级 PID 控制算法的四旋翼无人机控制系统设计与实现
  • 原文地址:https://blog.csdn.net/u010164190/article/details/136269420