当前位置: 首页 > news >正文

ADB打印设备日志相关

1. 基础日志命令

# 实时打印全部设备日志
adb logcat# 保存完整日志到文件(带时间戳)
adb logcat -v time > full_log.txt# 仅保存崩溃日志
adb logcat -b crash > crash_log.txt# 仅保存ANR日志(应用无响应)
adb logcat -v time | grep "ANR" > anr_log.txt

2. 多设备操作

# 获取已连接设备列表
adb devices -l# 输出示例:
# List of devices attached
# emulator-5554device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86
# 5c1b5a3edevice usb:336592896X product:walleye model:Pixel_2 device:walleye# 获取设备序列号
adb get-serialno# 默认设备
adb -s emulator-5554 get-serialno# 指定设备# 指定设备执行命令
adb -s emulator-5554 logcat# 指定设备抓日志

3. 高级日志过滤

# 排除调试信息(只显示Error及以上级别)
adb logcat *:E# 按标签过滤日志
adb logcat -s AndroidRuntime# 仅显示运行时错误
adb logcat -s MyAppTag# 仅显示自定义标签日志# 按进程ID过滤
adb shell ps -A | grep "myapp"# 查找进程ID
adb logcat --pid=1234# 仅显示指定进程日志

4. 系统诊断命令

# 获取完整系统报告(包含所有日志和状态)
adb bugreport > system_report.zip# 提取ANR跟踪文件
adb pull /data/anr/traces.txt anr_traces.txt# 查看当前顶层Activity
adb shell dumpsys activity top | grep ACTIVITY
# 输出示例:ACTIVITY com.example.myapp/.MainActivity 12345abc pid=6789

5. 崩溃监控技巧

# 持续监控运行时崩溃
adb logcat -b main -b system -b crash | grep -E "FATAL|CRASH"# 监控Native崩溃信号
adb logcat | grep -E "SIGSEGV|SIGABRT|SIGILL"# 自动保存最新崩溃日志
while true; do
adb logcat -d -b crash > crash_$(date +%s).txt
sleep 5
done

安装与配置说明

Windows安装:

  1. 下载Platform-Tools
  2. 解压zip文件
  3. 添加路径到系统环境变量:我的电脑 > 属性 > 高级系统设置 > 环境变量
  4. 命令行验证:adb version

macOS/Linux安装:

# macOS
brew install android-platform-tools# Ubuntu/Debian
sudo apt install adb fastboot# 验证安装
adb --version

USB调试启用:

  1. 手机进入设置 > 关于手机
  2. 连续点击"版本号"7次启用开发者模式
  3. 返回设置 > 系统 > 开发者选项
  4. 启用"USB调试"和"USB安装"

提示:

  • 使用adb logcat -c清除旧日志
  • 崩溃日志保存在/data/tombstones/目录(需root)
  • 对于ANR问题,同时检查/data/anr/目录内容
  • 无线调试命令:adb tcpip 5555 && adb connect <设备IP>
http://www.dtcms.com/a/321073.html

相关文章:

  • GPT-5 全面解析与 DeepSeek 实战对比:推理、工具调用、上下文与成本
  • 十三、抽象队列同步器AQS
  • luckfox开发板的usb口作为串口使用
  • 【matlab】采样信号的低通滤波、高通滤波
  • SVN下载及安装(保姆级别)
  • 【网络运维】Linux:MariaDB 数据库介绍及管理
  • 6、图片上方添加波浪效果
  • 深入探索 PDF 数据提取:PyMuPDF 与 pdfplumber 的对比与实战
  • Dubbo应用开发之基于xml的第一个Dubbo程序
  • 第五十五章:AI模型的“专属定制”:LoRA微调原理与高效合并技巧
  • Vue 3 表单数据缓存架构设计:从问题到解决方案
  • 站在Vue的角度,对比鸿蒙开发中的数据渲染二
  • Introducing Visual Perception Token into Multimodal Large Language Model论文解读
  • GitHub 趋势日报 (2025年08月07日)
  • 厂区周界人员闯入识别误报率↓76%:陌讯动态监测算法实战解析
  • 全面解析软件工程形式化说明技术
  • 密码学中间人攻击(Man-in-the-Middle):隐藏在通信链中的“窃听者“
  • Block Styler——浏览文件控件
  • zoho crm 的用户为什么在 api 名称页面不能点进模块查看字段的 api 名称
  • 解析工业机器视觉中的飞拍技术
  • 高效数据隔离方案:SpringBoot + JSqlParser 全解析!
  • Redis五大数据类型
  • Java——类和对象
  • 数据结构(六):树与二叉树
  • 触觉导航新突破:Contactile 触觉传感器推动机器人 “零示教” 实现复杂曲面作业
  • PyQt简介
  • WinForm 工具箱内容剖析
  • Linux常见服务器配置(三):MariaDB数据库管理和WEB服务器
  • hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备
  • UE5 图片9宫格切割