Android应用调试-BugReport


一、BugReport是什么?

在安卓应用开发中,app程序的调试分析是日常生产中进程会进行的工作。而BugReport中包含了设备日志、堆栈轨迹和其他诊断信息,可以帮助开发人员查找和修复应用中的错误。

二、如何获取bug reports

一般来说有三种方法可以获取Bug reports,分别是通过安卓手机直接获取、通过ADB工具获取以及通过Android studio模拟器获取。以下主要详细说明前面两种方法:

1.从手机上获取bug reports

(1)确保手机端已启用开发者选项。
(2)在开发者选项中,选择生成bug reports。
(3)选择所需的bug reports类型,然后点按报告。一段时间,就可以从消息栏收到bug reports已准备就绪的通知(参见图 1)。
图一

2.使用 adb 获取bug reports

如果只连接了一台手机,则可以使用 adb 获取bug reports,如下所示:

$ adb bugreport E:\Reports\MyBugReports

如果电脑上连接了多台手机,则必须使用 -s 选项指定设备。运行以下 adb 命令可获取设备序列号并生成错误报告。

$ adb devices
List of devices attached
emulator-5554      device
8XV7N15C31003476 device

$ adb -s 8XV7N15C31003476 bugreport

三、如何对BugReport进行分析?

一般情况下,我们抓到的文件名为 bugreport-BUILD_ID-DATE.zip,它可能会包含多个文件,但最重要的文件是 bugreport-BUILD_ID-DATE.txt。这个文件就是bug reports,它包含系统服务 (dumpsys)、错误日志 (dumpstate) 和系统消息日志 (logcat) 的诊断输出。系统消息包括设备抛出错误时的堆栈轨迹,以及从所有应用中使用 Log 类写入的消息。

压缩包中有一个 version.txt 元数据文件,其中包含 Android 版本号,而且启用 systrace 后,压缩包中还会包含 systrace.txt 文件。Systrace 工具可以获取并显示应用进程和其他 Android 系统进程的执行时间,从而帮助分析应用的性能。

dumpstate 工具会将文件从设备的文件系统复制到 ZIP 文件的 FS 文件夹下,以便您引用它们。例如,设备中的 /dirA/dirB/fileC 文件会在 ZIP 文件中生成 FS/dirA/dirB/fileC 条目。
图2.bug reports文件目录
Bug reports的文件有时候是非常大的,如果使用文本工具打开查看将是一个噩梦。因此Google针对android 5.0以上的系统开发了一个叫做battery historian的分析工具,这个工具就是用来解析这个txt文本文件,然后使用web图形的形式展现出来,这样出来的效果更加人性化,更加可读。

这个工具是一个开源工具,可以通过GitHub下载:https://github.com/google/battery-historian
下载后运行是如下的一个可视化界面:
battery-historian图形化界面


总结

以上就是Android开发重要的调试手段Bug Reports,重点在于如何抓取Bug Reports以及对其进行分析。
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值