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" |