需求:收集系统 Log,并可以实现一键导出。
一、需求分析
针对 Log 导出功能需求进行分析:
1)ANR、Tombstones、Dropbox 等 Log 从前面的文章可以看出,都有固定存放路径,所以我们只需要在导出时到指定路径获取即可。
2)bugreport log 在之前的文章中介绍过,这里也不再多说。
3)qnx log 在 QNX 侧使用 slog2info 进行 Log 收集,存放到指定目录,然后再将该目录共享。Android 只需要到共享目录中去获取 Log 文件即可。
4)logcat log 才是我们开发的重点,主要步骤分解:
- 开始/停止收集 Log
- 监听 Log 文件数量和大小,达到预定值进行打包成为历史 Log
- 监听历史 Log 文件数量和大小,达到预定值进行旧数据清理
二、收集Logcat
由于 Log 文件存放在 data/vendor/ 下,Google 在android M