Android Logcat 高效调试指南

工具概览

Logcat 是 Android SDK 提供的命令行日志工具,支持灵活过滤、格式定制和实时监控,官方文档详见 Android Developer。


基础用法

命令格式
复制代码
[adb] logcat [<option>] ... [<filter-spec>] ...  
  • 执行方式
    1. 直接调用 (通过ADB守护进程):

      复制代码
      adb logcat -v threadtime  
    2. 进入Shell环境执行 :

      复制代码
      adb shell logcat -v threadtime  

高效抓取指南

1. 完整日志捕获(推荐)
复制代码
adb logcat -v threadtime > main_log.txt  

优势:

  • 包含 PID(进程ID)、TID(线程ID)、TAG(日志标签)、时间戳 等完整元数据
  • 适用于问题回溯与分析
2. 精准过滤日志

通过 <filter-spec> 按 TAG + 优先级 过滤:

复制代码
adb logcat -v threadtime ActivityManager:D *:S  

参数解析:

  • ActivityManager:D:仅输出 ActivityManager TAG 的 DEBUG 及以上级别日志
  • *:S:全局静默其他 TAG(:S 表示 SILENT 级别,即不输出)

优先级层级 (从低到高):
VERBOSE (V) < DEBUG (D) < INFO (I) < WARN (W) < ERROR (E) < FATAL (F) < SILENT (S)


高级技巧

  • 实时滚动监控 :

    复制代码
    adb logcat -v threadtime | grep "CriticalTag"  
  • 清空日志缓冲区 :

    复制代码
    adb logcat -c  
  • 多条件组合过滤 :

    复制代码
    adb logcat -v threadtime Tag1:I Tag2:W *:S  
相关推荐
Starry-sky(jing)21 小时前
Vidda ADB 开启:R Pro 65 找不到开发者选项的处理与连接验收
android·adb·远程控制·电视·vidda
雨白1 天前
从原理到实践:使用 Kotlin KSP 仿写 ButterKnifeLite
android·kotlin
疯华整猫1 天前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
传奇开心果1 天前
【探秘 Jetpack Compose 框架深水区】 第8课:rememberSaveable 的边界在哪里?——Bundle、Saver 与什么值得跨进程存活
android·kotlin
Frankie_stand1 天前
测试自动化实战指南:从脚本化、自动判据到 CI 集成的完整落地路径
android·ci/cd·自动化
恋猫de小郭1 天前
Flutter 大小核优化又被回滚,然后又开新提案?
android·前端·flutter
Kapaseker1 天前
领导问我 Kotlin 的 Nothing 是什么?
android·kotlin
韩曙亮1 天前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
三少爷的鞋1 天前
不改变异步本质,只改变代码组织:Telegram 项目的 Kotlin 协程实践
android
好的佩奇2 天前
蓝牙之广播与扫描
android·flutter·蓝牙