• adb(7)-模拟按键/输入


    在 adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情。

    input 命令的完整 help 信息如下:

    Usage: input []  [...]
    
    The sources are:
          mouse
          keyboard
          joystick
          touchnavigation
          touchpad
          trackball
          stylus
          dpad
          gesture
          touchscreen
          gamepad
    
    The commands and default sources are:
          text  (Default: touchscreen)
          keyevent [--longpress]  ... (Default: keyboard)
          tap   (Default: touchscreen)
          swipe     [duration(ms)] (Default: touchscreen)
          press (Default: trackball)
          roll   (Default: trackball)
    

    比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:

    keycode含义
    3 HOME 键
    4 返回键
    5 打开拨号应用
    6 挂断电话
    24 增加音量
    25 降低音量
    26 电源键
    27 拍照(需要在相机应用里)
    64 打开浏览器
    82 菜单键
    85 播放/暂停
    86 停止播放
    87 播放下一首
    88 播放上一首
    122 移动光标到行首或列表顶部
    123 移动光标到行末或列表底部
    126 恢复播放
    127 暂停播放
    164 静音
    176 打开系统设置
    187 切换应用
    207 打开联系人
    208 打开日历
    209 打开音乐
    210 打开计算器
    220 降低屏幕亮度
    221 提高屏幕亮度
    223 系统休眠
    224 点亮屏幕
    231 打开语音助手
    276 如果没有 wakelock 则让系统休眠

    下面是 input 命令的一些用法举例。

    电源键

    命令:

    adb shell input keyevent 26
    

    执行效果相当于按电源键。

    菜单键

    命令:

    adb shell input keyevent 82
    

    HOME 键

    命令:

    adb shell input keyevent 3
    

    返回键

    命令:

    adb shell input keyevent 4
    

    音量控制

    增加音量:

    adb shell input keyevent 24
    

    降低音量:

    adb shell input keyevent 25
    

    静音:

    adb shell input keyevent 164
    

    媒体控制

    播放/暂停:

    adb shell input keyevent 85
    

    停止播放:

    adb shell input keyevent 86
    

    播放下一首:

    adb shell input keyevent 87
    

    播放上一首:

    adb shell input keyevent 88
    

    恢复播放:

    adb shell input keyevent 126
    

    暂停播放:

    adb shell input keyevent 127
    

    点亮/熄灭屏幕

    可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。

    点亮屏幕:

    adb shell input keyevent 224
    

    熄灭屏幕:

    adb shell input keyevent 223
    

    滑动解锁

    如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。

    命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

    adb shell input swipe 300 1000 300 500
    

    参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标

    输入文本

    在焦点处于某文本框时,可以通过 input 命令来输入文本。

    命令:

    adb shell input text hello
    

    现在 hello 出现在文本框了。

     

  • 相关阅读:
    VSCode 配置 Python 开发环境
    出现:Microsoft Visual C++ 14.0 is required 的解决方案
    python3 pathlib库中的Path类的使用
    使用 AI 绘制箭头
    Adobe Illustrator 入门 新建 保存图片
    jinja2
    Java 读取和写入文本文件
    Affy包 estrogen包
    GEOquery
    apply() 函数家族介绍
  • 原文地址:https://www.cnblogs.com/jiablogs/p/8794325.html
Copyright © 2020-2023  润新知