ADB命令
adb简介
adb的全称为Android Debug Bridge,安卓调试桥。
使用命令来对安卓手机进行一些操作,借助adb可以编写一些脚本来实现一些对安卓手机自动化操作的功能。
adb工作原理
adb采用客户端-服务端模型(C/S),包括三个部分:
- 客户端client
- 服务端server
- 守护进程daemon
adb环境搭建
- Java 1.8
- Android SDK
JDK安装配置
推荐jdk1.8版本(即java 8)
Android SDK安装配置
连接手机设备及查看设备状态
Android模拟器种类
- Android Studio emulator (官方)
- genymotion(依赖网络)
- mumu,雷电,夜神,逍遥等第三方模拟器
真机连接电脑
- 进入开发者模式
- 进入开发者选项
- 打开USB调试
输入adb devices或者adb get-state,检查设备是否已经连接以及设备连接状态:
device正常offline连接出现异常,设备无响应unauthorized未授权

- 小米手机可以在开发者选项中打开
USB调试(安全设置)来进行授权
使用adb kill-server命令关闭服务
adb命令格式/安装卸载
adb命令格式
abd [-d|-e|-s <serialNumber>] <command>
-d指定当前唯一通过USB连接的Android设备为命令目标-e指定当前唯一运行的模拟器为命令目标-s指定响应的设备为命令目标
卸载apk
-
普通安装
adb install <apk路径> -
覆盖安装/替代安装
adb install -r <apk路径> -
使用adb命令安装office lens
adb install C:\Users\xiaophai\Downloads\com.microsoft.office.officelens_16.0.14527.20178_liqucn.com.apk

- 真机需要授权,小米手机在开发者选项中点开
USB安装选项
- 指定设备
通过adb devices查看设备编号,然后加入参数-s <serialNumber>
1 | adb install -s <serialNumber> *.apk |
卸载apk
- 卸载应用
adb uninstall 包名 - 卸载应用(不删除配置文件,保留数据缓存信息)
adb uninstall -k 包名 - 指定设备
1 | adb uninstall -s <serialNumber> 包名 |
包和活动页
- package——包:是安卓应用的唯一标识
- activity——活动页:是安卓应用页面,一个页面就是一个activity
获取当前页面的activity
-
打开手机app应用的某个页面
-
在cmd中执行命令
1
adb shell "dumpsys window | grep mCurrentFocus"

启动页面
1 | adb shell am start -n <包名>/<activity名> |
- 打开QQ消息界面
1 | adb shell am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity |
com.tencent.mobileqq是包名
com.tencent.mobileqq.activity.SplashActivity是activity名
获取启动页面的activity
-
mac/linux
1
adb logcat ActivityManager:I | grep "cmp"
-
windows
1
adb logcat ActivityManager:I | findstr "cmp"
备注:实际执行该命令时报错,在windows上一样执行mac/linux上的命令
执行完adb logcat ActivityManager:I | grep "cmp"命令后,打开美团app,返回下面信息
1 |
使用ctrl+c退出
使用adb shell命令
使用adb shell这个命令可以在主机端使用Linux的命令访问Android系统
adb shell:进入Linux环境adb shell ls:查看目录结构adb shell date:查看系统当前日期adb shell cat/proc/cpuinfo:查看系统CPU使用情况adb shell cat/proc/meminfo:查看系统内存使用情况
使用adb shell命令清除应用缓存
adb shell进入内环境cd /data/data
使用adb shell pm clear 包名清除应用缓存
手机和电脑传输文件
adb push 电脑路径 手机路径:将电脑上的文件push到手机指定路径adb pull 手机路径 电脑路径:将手机上的文件pull到电脑指定路径
查看系统的日志
- 日志的级别
| V | 明细 verbose (最低优先级) |
|---|---|
| D | 调试 debug |
| I | 信息 info |
| W | 警告 warn |
| E | 错误 error |
| F | 严重错误 fatal |
| S | 无记载 silent (最高优先级,绝不会输出任何内容) |
adb logcat
红色框中是时间,蓝色框中是进程号和线程号,黄色框中是Log级别,冒号前绿色框中是TAG标签,冒号后跟着是Log内容

-
adb logcat --help查看帮助文档 -
adb logcat -v time: 打印时间 -
adb logcat -v color:不同级别使用不同颜色打印 -
adb logcat -f <filename>:将日志输出到文件中,<filename>是文件路径,这个地址是手机端的地址 -
adb logcat > <filename>:将日志输出到文件中,<filename>是电脑端的文件路径 -
adb logcat -c:清理已存在的日志
根据级别过滤日志
- 获取
W及W以上级别的日志,过滤掉以下级别的日志
1 | adb logcat "*:W" |