Android 调试桥 (adb)
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。
在设备上启用 adb 调试
要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。
在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状态。如需将其显示出来,请依次转到设置 > 关于手机,然后点按版本号七次(注意不同的设备打开方法可能不同)。返回上一屏幕,在底部可以找到开发者选项。
adb的下载安装
官方下载平台,请点 这里
一、软件安装与卸载
查看链接的设备:
adb devices
查手机包名
adb shell pm list packages -3 查系统除了第三方应用包名
adb shell pm list packages -s 查系统应用所有包名
adb shell pm list packages 查手机装的所有app包名
将当前手机窗口上正在使用的App包名和Activity名称显示出来(例如进入到乐读某个页面)
adb shell dumpsys activity | grep "mResumedActivity"
安装app(乐读为例):
adb install apk 地址/电脑也可以直接拖过去自动生成地址
小米手机可能会失败并且提示 Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
解决方案:
进去开发者选项打开USB调试和USB安装,手机出现弹框时点击允许安装
卸载app:
adb uninstall 包名(乐读为例)
二、日志服务
1.查看日志
adb logcat
2.退出日志界面
ctrl+c
3.清空日志信息:
adb logcat -c
4.过滤器查日志:
adb logcat [选项] [过滤项],其中 选项 和 过滤项是可选的
(1) 选项解析
"-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
"-c"选项 : 清空所有的日志缓存信息;
"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
"-g"选项 : 查看日志缓冲区信息;
"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
"-B"选项 : 以二进制形式输出日志;
(2)过滤日志级别
优先级是下面的字符,顺序是从低到高:
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent
详情请查看这里
5.常用日志过滤
(1)adb logcat -s 级别标签
(2)输出日志到指定的文件:
adb logcat [选项][过滤项]>指定的文件
(3)输出指定App日志adb logcat [过滤项]:find “包名”:
三、屏幕操控以及复制操作
1.截图到手机:
adb shell screencap /路径 /文件名
2.录制手机视频adb shell screenrecord /sdcard/demo.mp4
如需开始录制设备屏幕,请运行 screenrecord 命令以录制视频。然后,运行 pull 命令以将视频从设备下载到主机. 按 Ctrl + C 键(在 Mac 上,按 Command + C 键)可停止屏幕录制;如果不手动停止,到三分钟或 --time-limit 设置的时间限制时,录制将会自动停止
3.拷贝图片或者文件到电脑上:
adb pull 手机文件路径 电脑路径
你可以使用 pull 和 push 命令将文件复制到设备或从设备复制文件。与 install 命令(仅将 APK 文件复制到特定位置)不同,使用 pull 和 push 命令可将任意目录和文件复制到设备中的任何位置。
4.如需从设备中复制某个文件或目录(及其子目录),请使用以下命令:
adb pull remote local
5.如需将某个文件或目录(及其子目录)复制到设备,请使用以下命令:
adb push local remote
6.将 local 和 remote 替换为开发机器(本地)和设备(远程)上的目标文件/目录的路径。例如:
adb push foo.txt /sdcard/foo.txt
7.查看手机分辨率:
adb shell wm size
四、CPU及内存操作
top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.
1.查看top帮助
adb shell –help
2.查看设备cpu和内存占用情况:
adb shell top
PID 进程id
USER 进程所有者的用户名
PR 优先级
NI 负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb
RES 进程使用的、未被换出的物理内存大小,单位kb
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计
3.打印每个进程使用CPU详情输出至cpu.txt:
adb shell top > D:CPU.txt
3. adb shell top -d 2 //每2s刷新一次
-m num Maximum number of processes to display. // 最多显示多少个进程
-n num Updates to show before exiting. // 刷新次数
-d num Seconds to wait between updates. // 刷新间隔时间(默认5秒)
-s col Column to sort by (cpu,vss,rss,thr). // 按哪列排序
-t Show threads instead of processes. // 显示线程信息而不是进程
-h Display this help screen. // 显示帮助文档
4.获取某个应用的CPU数据
adb shell top | grep "package信息"
例如查看乐读app的时时cpu占用情况
10秒刷新一次显示CPU占用情况:adb shell top -d 10 | grep com.youdao.yread
五、其他
1.查看电池信息:
adb shell dumpsys battery
2.调用 Activity 管理器 (am
)
在 adb shell 中,您可以使用 Activity 管理器 (am
) 工具发出命令以执行各种系统操作,如启动 Activity、强行停止进程、广播 intent、修改设备屏幕属性,等等。在 shell 中,相应的语法为:am command
您也可以直接从 adb 发出 Activity 管理器命令,无需进入远程 shell。例如:
adb shell am start -a android.intent.action.VIEW
详情请看官方文档
3.设备链接
硬件设备链接类问题请点击这里