Android 抓取 ANR 日志终极办法

在 Android 开发中,有时会遇到 ANR,一旦出现 ANR 我们就需要拿到对应的trace 文件来分析并解决。本文将介绍两种获取 ANR 的方法。

第一种

直接查看/data/anr/traces.txt的内容,如下

adb shell cat  /data/anr/traces.txt

或者类似使用拷贝到电脑上查看,比如

adb shell cp /data/anr/traces.txt /sdcard
adb pull /sdcard/traces.txt ./

但是这种方法在某些手机上由于权限原因,无法进行,就需要了使用下面的方法了。

第二种

这种方法就是进行adb bugreport,没有权限限制问题。具体步骤是

生成 bugreport 文件

adb bugreport
/data/user_de/0/com.android.shell/files/bugreports/bugreport-sailfish-QP1A.191005.007.A3-2021-01-12-15-30-21.zip: 1 file pulled, 0 skipped. 30.6 MB/s (3897489 bytes in 0.121s)
Bug report copied to /private/tmp/bugreport-sailfish-QP1A.191005.007.A3-2021-01-12-15-30-21.zip

进行解压文件

unzip bugreport-sailfish-QP1A.191005.007.A3-2021-01-12-15-32-54.zip
Archive:  bugreport-sailfish-QP1A.191005.007.A3-2021-01-12-15-32-54.zip
  inflating: version.txt
  inflating: proto/SurfaceFlinger_CRITICAL.proto
  inflating: proto/activity_CRITICAL.proto
  inflating: proto/window_CRITICAL.proto
  inflating: FS/data/anr/anr_2021-01-12-14-59-10-559
  inflating: FS/data/misc/recovery/last_log
  inflating: FS/data/misc/recovery/last_kmsg
  inflating: FS/data/misc/recovery/ro.build.fingerprint
  inflating: FS/data/misc/recovery/proc/version
  inflating: FS/data/misc/update_engine_log/update_engine.19700914-172433
  inflating: FS/proc/1/mountinfo
  inflating: FS/proc/642/mountinfo
  inflating: FS/proc/643/mountinfo
  inflating: FS/proc/934/mountinfo
  inflating: FS/proc/2592/mountinfo
  inflating: FS/proc/2619/mountinfo
  inflating: FS/proc/2882/mountinfo
  inflating: FS/proc/3011/mountinfo
  inflating: FS/proc/3031/mountinfo
 
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值