需求:车机连接U盘,将 Bugreport 导出到U盘。起初网上查找相关资料,好多生成和导出BugReport的方法,感觉功能很简单。因为直接有一个收集logcat的日志的功能,首先想到的是仿照着写一个。
一、仿照logcat收集方法
因为项目中本身就存在 logcat 管理的相关代码,首先这里就尝试参照收集 logcat 的相关代码进行 Bugreport 的获取,代码如下:
log_path="/data/vendor"
stampDateTime="`date +%Y%m%d_%H-%M-%S`"
/system/bin/logcat -f ${log_path}/log/log_logcat@${stampDateTime}.log -r10240-n 30 -v threadtime &
/system/bin/bugreport -f ${log_path}/log/log_bugreport@${stampDateTime}.log -r10240 -n 10 -v threadtime &
运行发现无法生成 bugreport 相关文件,所以该方案行不通。
二、Bugreport获取
查找资料可以发现 Bugreport 可以再 shell 模式下,通过 bugreportz 获得 Bugreport 日志的压缩文件。
1、获取Bugreport
adb shell bugreport
提示命令已过时,建议使用 bugreportz。但有时在adb窗口使用还是能时时打印log的,但多数时间不好用,提示过时。