ADB 调试日志全攻略:如何开启与关闭 ADB_TRACE
日志
ADB(Android Debug Bridge)是 Android 开发的核心工具,但在排查问题时,默认日志可能不够详细。通过设置环境变量 ADB_TRACE
,可以开启 全量调试日志,帮助开发者定位问题。本文将详细介绍如何开启和关闭 ADB 日志,并解析常见场景。
1. 什么是 ADB_TRACE
?
ADB_TRACE
是 ADB 的一个环境变量,用于控制日志输出的详细程度。设置为 all
时,ADB 会打印所有模块的调试信息(包括协议通信、设备连接、命令执行等),适用于:
- 调试 ADB 连接问题
- 分析设备通信异常
- 排查 ADB 命令失败原因
2. 如何开启 ADB 全量日志?
方法 1:临时开启(当前终端会话有效)
Windows (CMD/PowerShell)
cmd
:: 设置环境变量(仅当前会话有效)
set ADB_TRACE=all
:: 执行任意 ADB 命令(如查看设备列表)
adb devices
Linux/macOS (Bash/Zsh)
bash
# 设置环境变量(仅当前会话有效)
export ADB_TRACE=all
# 执行任意 ADB 命令
adb devices
效果 :
终端会输出大量调试日志,例如:
adb trace: init: transport=usb
adb trace: protocol: sending 'host:devices'
adb trace: response: OKAY 1234567890
方法 2:永久开启(不推荐)
如果需要长期开启日志(如开发环境),可将变量写入 Shell 配置文件:
Windows
- 打开 系统属性 → 高级 → 环境变量。
- 在 用户变量 中新建变量:
- 变量名:
ADB_TRACE
- 变量值:
all
- 变量名:
Linux/macOS
编辑 ~/.bashrc
或 ~/.zshrc
,添加:
bash
export ADB_TRACE=all
然后执行:
bash
source ~/.bashrc # 或 source ~/.zshrc
3. 如何关闭 ADB 日志?
方法 1:临时关闭(当前终端会话)
Windows
cmd
:: 取消环境变量
set ADB_TRACE=
:: 验证日志是否关闭
adb devices
Linux/macOS
bash
# 取消环境变量
unset ADB_TRACE
# 验证日志是否关闭
adb devices
效果 :
日志输出恢复为默认简洁模式,仅显示关键信息(如设备列表)。
方法 2:关闭终端后重新打开
环境变量仅在当前终端会话中生效,直接关闭终端窗口即可彻底关闭日志。
方法 3:永久关闭(如果已写入配置文件)
如果 ADB_TRACE
被永久写入系统环境变量或 Shell 配置文件,需手动删除:
Windows
- 打开 环境变量 窗口,删除
ADB_TRACE
变量。
Linux/macOS
编辑 ~/.bashrc
或 ~/.zshrc
,删除或注释以下行:
bash
# export ADB_TRACE=all # 删除或注释此行
然后执行:
bash
source ~/.bashrc
4. 临时覆盖变量(单次命令禁用日志)
如果不想修改环境变量,但希望某条命令不输出日志,可以临时覆盖:
Windows
cmd
:: 单次命令禁用日志
set ADB_TRACE= & adb devices
Linux/macOS
bash
# 单次命令禁用日志
ADB_TRACE="" adb devices
5. 常见问题解答
Q1:日志太多看不过来怎么办?
-
使用
grep
过滤关键信息(Linux/macOS):bashadb devices 2>&1 | grep -i "error"
-
将日志重定向到文件:
bashadb devices > adb_log.txt 2>&1
Q2:为什么设置了 ADB_TRACE=all
但没日志?
-
检查 ADB 版本是否过旧(需 ≥ 1.0.32):
bashadb version
-
确保变量拼写正确(区分大小写)。
Q3:日志会影响 ADB 性能吗?
- 会的!全量日志会显著增加 I/O 和 CPU 负载,仅在调试时开启。
6. 总结
操作 | 命令示例(Windows) | 命令示例(Linux/macOS) |
---|---|---|
开启日志 | set ADB_TRACE=all |
export ADB_TRACE=all |
关闭日志 | set ADB_TRACE= |
unset ADB_TRACE |
临时覆盖 | set ADB_TRACE= & adb ... |
ADB_TRACE="" adb ... |
永久生效 | 修改系统环境变量 | 编辑 ~/.bashrc |
推荐实践:
- 调试问题时临时开启日志,完成后立即关闭。
- 避免在生产环境或低性能设备上长期开启日志。