没有权限查看ANR时怎么操作

作者: 倔强_2722 | 来源:发表于2021-03-17 10:50 被阅读0次

https://blog.csdn.net/xjz696/article/details/97958441
解决方案:做Android研发的大家应该都知道adb有个命令叫bugreport,至于这个命令是干嘛的大家可以自己去百度去Google,今天主要讲怎么用这个命令去拿到ANR的trace信息。

Step1: 将发生ANR的手机打开"开发者选项"并启动"调试模式"(不会的自行百度)

Step2:将手机连接到电脑上

Step3:在电脑的命令行里面执行命令 "adb bugreport anrlog.zip" (anrlog.zip是生成文件的名字,自己可以随便写),这里有个前提是你的电脑装了adb,没装的自行百度如何安装。

Step4:解压生成好的anrlog.zip文件,大概是下图的结构,打开第一个文件,也就是体积最大的那个文件。


image.png

Step5:文件打开一看乱七八糟啥都有,其实这就对了,那么我们开始分析这个文件,找出trace信息。

搜索关键字: "VM TRACES AT LAST ANR",一般就能定位到下图的位置,你看看进程名和时间跟你的进程对上不,对上那就OK了,顺着往下翻就是这次ANR的trace信息了。


image.png

Step6:至于分析ANR到底是啥原因引起,那就学问大了去了,我一般也就是分析下主线程卡在哪里了,就跟下图一样。如果一眼看不出来,那就继续去搜索前人的经验吧,怎么根据trace信息分析ANR。

如果分析不出来需要查看cpu以及内存的占用信息,"CPU usage from"这个关键字可以搜到anr发生前后cpu的占用情况。


image.png

相关文章

网友评论

    本文标题:没有权限查看ANR时怎么操作

    本文链接:https://www.haomeiwen.com/subject/xcixyktx.html