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

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

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

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

拿不到…………

是不是权限不够?试试把app push到system/app目录下:
同样先check一下有没有trace.txt:
app如何获取ANR时产生的trace文件_第4张图片
有的,以相同代码运行,结果:
这里写图片描述
仍然没有拿到。

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

你可能感兴趣的:(app如何获取ANR时产生的trace文件)