bugreport工具的使用

    当我们的应用遇到ANR时,可能会想到的办法是去看data/data/anr目录的trace.txt文件,如下图所示:
在这里插入图片描述
然后打开根据log中的trace信息去定位,大概的文本结构结构如下:

ANR in com.example.catchanrlog (com.example.catchanrlog/com.example.anr_monitor.SecondActivity)
PID: 17267
Reason: Input dispatching timed out (AppWindowToken{1d36b86 token=Token{6b1461 ActivityRecord{a84bbc8 u0 com.example.catchanrlog/com.example.anr_monitor.SecondActivity t832}}}, Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.)
Dump time: 2022-02-28 00:33:11.956 GMT+08:00
Package: com.example.catchanrlog
Current looper: Looper (main, tid 2) {44f9de7}
Current running message:
  seq=32 plan=00:32:59.002  late=216ms h=android.app.ActivityThread$H w=159
History of long time messages on Looper (main, tid 2) {44f9de7}:
  Msg #1: seq=28 plan=00:32:58.993  late=11ms wall=211ms running=1ms h=android.view.ViewRootImpl$ViewRootHandler c=android.view.View$PerformClick
  Msg #2: seq=25 plan=00:32:58.759  late=1ms wall=231ms running=10ms runnable=8ms h=android.view.ViewRootImpl$ViewRootHandler c=android.view.View$PerformClick
  Msg #3: seq=3 plan=00:32:39.755  late=126ms wall=175ms running=154ms runnable=5ms h=android.app.ActivityThread$H w=159
  Msg #4: seq=2 plan=00:32:39.689  late=0ms wall=192ms running=177ms runnable=3ms h=android.app.ActivityThread$H w=110

(dump anr info success and took 7ms)

但是问题来了,ANR的trace.txt文件在高版本设备上是没有权限获取的,我这边的截图虽然是Anroid9,理应没有权限才对,是因为是装的开发版的系统,获取了ROOT权限,所以可以直接查看,正常的设备是没有权限查看的。因此bugreport工具就能解决这样的问题。

官方文档:https://developer.android.com/studio/debug/bug-report

获取bugreport报告:

adb bugreport

运行上面的adb命令后会生成一个命名为 bugreport-BUILD_ID-DATE.zip的压缩包文件,上面是没在bugreport命令后加上存储路径,会自动保存在设备内部存储的bugports文件夹下:
在这里插入图片描述
这个时候的压缩包实际上是记录了很多个子文件,我们可以在里面找到我们需要的比如anr的trace.txt文件:
在这里插入图片描述
打开后看看内容,发现其实就是我们平时需要的anr的log文件,内容是一样。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechMix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值