2025-03-13
测试
00
请注意,本文编写于 37 天前,最后修改于 37 天前,其中某些信息可能已经过时。

目录

自动化测试ADB命令
一、ADB介绍
1. 什么是ADB?
2、为什么要用adb
二、准备工具
三、ADB常见命令
ADB KeyEvent 键值对照表(含中文功能说明)
高频操作速查
1. 基础操作
2. 媒体控制
3. 文本输入
注意事项

自动化测试ADB命令

一、ADB介绍

1. 什么是ADB?

ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。
ADB 也是 Android SDK 中的一个工具,可以直接操作管理 Android 模拟器或者真实的 Android 设备。

2、为什么要用adb

运行设备的 shell(命令行)
管理模拟器或设备的端口映射
计算机和设备之间上传/下载文件
可以对设备的应用进行卸载安装等
在 App 遇到 ANR/Crash 等 bug 时,可以通过 ADB 来抓取日志
简而言之,ADB 就是连接 Android 手机与 PC 端的桥梁,所以ADB又称为安卓调试桥(注意:是安卓,不是iOS),可以让用户在电脑上对手机进行全面的操作!

二、准备工具

Android Studio,提供了adb最新的Windows 下载地址
下载完成后添加进环境变量即可

三、ADB常见命令

  • adb verison 查看adb版本信息
  • adb help 列出adb相关的所有命令
  • adb devices 查看当前连接设备
  • adb shell 进入Android系统进行操作
  • adb install <安装的apk路径> 安装指定apk
  • adb uninstall <卸载的apk路径| 包名> 卸载指定的应用
  • adb shell pm list package [-3] 列出已经安装的包 -3 列出第三方包
  • adb shell pm clear [包名] 清除数据缓存
  • adb pull [手机上的路径] [桌面上保存的路径] 保存手机上的文件到桌面上 下载
  • adb push [桌面上的文件] [手机上保存的路径] 将桌面上的文件保存到手机上 上传
  • adb shell top 实时获取cpu占用情况
  • adb shell dumpsys activity | findstr "mFocuse" 获取当前屏幕显示的页面
  • adb shell dumpsys battery 查看电池信息
  • adb shell dumpsys meminfo 查看内存使用情况
  • adb shell dumpsys cpuinfo 查看cpu使用情况
  • adb shell monkey -p [被测包名 -v -v -v 1] 通过查看日志信息中查看当前页面的名字
  • adb shell input text [输入内容] 模拟输入
  • adb shell input tab [x,y] 模拟点击
  • adb shell input swipe [x1,y1] [x2,y2] 模拟滑动 起点坐标和重点坐标
  • adb shell input keyevent [Keyevent编码查看] 调用安装系统中的功能,Keyevent编码查看ADB KeyEvent表

ADB KeyEvent 键值对照表(含中文功能说明)

按键类型Keycode 常量对应编号中文功能说明
电话键KEYCODE_CALL5拨号键
KEYCODE_ENDCALL6挂机键
KEYCODE_HOME3Home键(返回主屏幕)
KEYCODE_BACK4返回键
KEYCODE_MENU82菜单键(部分设备长按模拟)
KEYCODE_SEARCH84搜索键
KEYCODE_CAMERA27拍照键
KEYCODE_POWER26电源键(锁屏/唤醒)
KEYCODE_VOLUME_UP24音量增加键
KEYCODE_VOLUME_DOWN25音量减小键
控制键KEYCODE_ENTER66回车键(确认输入)
KEYCODE_DPAD_CENTER23导航键-确定键(方向键中心按压)
KEYCODE_DPAD_UP19导航键-向上(方向键上)
KEYCODE_DPAD_DOWN20导航键-向下(方向键下)
KEYCODE_DPAD_LEFT21导航键-向左(方向键左)
KEYCODE_DPAD_RIGHT22导航键-向右(方向键右)
KEYCODE_DEL67退格键(删除前一个字符)
KEYCODE_FORWARD_DEL112删除键(删除后一个字符)
KEYCODE_TAB61Tab键(切换焦点)
字母/数字键KEYCODE_0 ~ KEYCODE_97~16数字键0~9
KEYCODE_A ~ KEYCODE_Z29~54字母键A~Z(区分大小写需配合Shift)
符号键KEYCODE_STAR17星号(*)
KEYCODE_POUND18井号(#)
KEYCODE_COMMA55逗号(,)
KEYCODE_PERIOD56句号(.)
KEYCODE_SLASH76斜杠(/)
KEYCODE_EQUALS70等号(=)
KEYCODE_AT77@符号
多媒体键KEYCODE_MEDIA_PLAY126多媒体播放键
KEYCODE_MEDIA_PAUSE127多媒体暂停键
KEYCODE_MEDIA_PLAY_PAUSE85播放/暂停切换键
KEYCODE_MEDIA_NEXT87下一首曲目
KEYCODE_MEDIA_PREVIOUS88上一首曲目
KEYCODE_MEDIA_STOP86停止播放
功能键KEYCODE_F1 ~ KEYCODE_F12131~142功能键F1~F12
组合键KEYCODE_ALT_LEFT57左Alt键(组合功能)
KEYCODE_ALT_RIGHT58右Alt键(组合功能)
KEYCODE_SHIFT_LEFT59左Shift键(大写/组合)
KEYCODE_SHIFT_RIGHT60右Shift键(大写/组合)

高频操作速查

1. 基础操作

bash
# 点亮屏幕 adb shell input keyevent 26 # 按下Home键 adb shell input keyevent 3 # 按下返回键 adb shell input keyevent 4

2. 媒体控制

bash
# 播放/暂停音乐 adb shell input keyevent 85 # 静音设备 adb shell input keyevent 164

3. 文本输入

bash
# 输入英文(自动转小写) adb shell input text "hello_world" # 输入特殊字符需用KeyEvent组合 adb shell input keyevent 77 # 输入@

注意事项

  1. 设备兼容性
    • 部分键值在非标准Android设备(如电视、车机)中可能无效。 • 华为EMUI、小米MIUI等定制系统可能修改默认键值映射。

  2. Android版本差异
    • Android 10+ 移除了 KEYCODE_MENU 的全局响应,需通过应用内菜单触发。

  3. 组合键示例
    复制文本Shift + 方向键选择 + Ctrl + C

    bash
    adb shell input keyevent 59 && \ adb shell input keyevent 22 && \ adb shell input keyevent 29 # 示例简化逻辑,实际需更复杂脚本

搭配以下工具使用效率更高:
Keycode Viewer:实时显示按键码的开源工具
Scrcpy:通过电脑控制Android设备并映射物理键盘

本文作者:苏皓明

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!