app如何获取ANR时产生的trace文件

跑了个Demo程序,想把/data/anr/trace.txt文件拿到,然而普通app是无法获取该文件的,就算把手机root也不行。

因为不知道进入anr文件的api,就直接使用路径创建文件,同时使用一个可以获取的文件做为对比,说明该刚发可行,确实是app拿不到trace.txt。

先通过adb,进入app的外部存储路径看看有什么文件:
这里写图片描述
以ecmsLogger(java).log文件为例,通过代码拿到该文件:
这里写图片描述
结果:
这里写图片描述
说明这种方法是可以拿到文件的,下面通过同样方法,尝试获取trace.txt:
这里写图片描述
先通过adb,进入目录,确实是存在trace.txt文件,然后通过同样的代码尝试获取该文件:
这里写图片描述
结果:
这里写图片描述

拿不到…………

是不是权限不够?试试把app push到system/app目录下:
同样先check一下有没有trace.txt:
这里写图片描述
有的,以相同代码运行,结果:
这里写图片描述
仍然没有拿到。

跑个Demo,至少说明通过这种方法无法拿到想要的trace文件,还没有找到其它方法。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ANRApplication Not Responding)是指Android应用程序在执行过程中出现了一段间无响应的情况,导致用户无法正常使用应用程序。当发生ANR,系统会弹出一个对话框提示用户,同会为该应用程序生成一个Trace文件,用于分析和定位问题。 Trace文件是一种记录应用程序运行过程的文件,可以通过分析Trace文件来了解应用程序的运行情况,定位问题并进行优化。下面是Trace文件的解析步骤: 1. 打开Trace文件 首先,需要将Trace文件从设备中导出到电脑上,然后使用Trace工具打开该文件Trace工具是Android Studio自带的一个工具,可以通过点击Android Studio中的“Profile”按钮来打开。 2. 分析Trace文件 Trace文件中记录了应用程序在运行过程中的各种信息,包括CPU使用率、内存使用情况、线程状态、方法调用等。通过分析Trace文件,可以了解应用程序在哪些方法中占用了大量的CPU间,哪些方法中出现了阻塞等问题。 3. 定位问题并优化 根据Trace文件分析结果,可以找到导致ANR的原因,并进行优化。例如,如果发现某个方法占用了大量的CPU间,可以考虑对该方法进行优化,减少其执行间;如果发现某个方法出现了阻塞,可以考虑使用异步处理来避免阻塞。 总之,Trace文件是Android应用程序开发中重要的调试工具之一,可以帮助开发者快速定位和解决问题,提高应用程序的性能和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值