我正在编写一个报告崩溃和相关日志的应用程序。因此,从我的应用程序中,我尝试访问traces.txt和墓碑,但出现错误:
03-25 09:48:46.220 W/System.err(10250): java.io.FileNotFoundException: /data/tombstone/tombstone_00 (Permission denied)
我可以访问traces.txt,但不能访问墓碑。
您可以使用位于 your_sd_root_dir/tools 中的 adb 工具。像这样使用它
./adb pull path_to_file location_to_save
如果你得到“权限被拒绝”,你可以这样做:
adb shell "cp /data/anr/traces.txt /storage/extSdCard/"
adb pull /storage/extSdCard/traces.txt
您可以在开发人员选项中捕获完整的错误报告(请参阅Android 文档)。在错误报告的 ZIP 文件中,您可以tombstones
找到.anr
/FS/data
这将适用于有根和无根设备。
注意:这仅适用于 android 模拟器和 root 的 android 设备。
您可以先检查文件是否已创建。你可以通过进去来做到这一点
DDMS -> File Explorer -> data -> data -> (Your Package) -> files -> (Your File)
DDMS 位于 Eclipse 的右上角。如果文件不存在于上述路径中,则它没有正确创建,但如果它仍然存在,则在访问文件时相应地更改路径,例如。/data/data/(Your Package)/traces.txt
您还可以将该 traces.txt 文件拉到桌面上。拉选项在 DDMS 下方的顶栏上给出。
这为我做了: adb pull "/data/anr/traces.txt"
adb shell "cd /data/anr && cat traces.txt" > anr.txt
这将在您当前设置的目录中复制 anr.txt 中的 traces.txt
您应该能够通过 DropBoxManager 类 http://developer.android.com/reference/android/os/DropBoxManager.html获取所需的文件
墓碑文件也被复制到保管箱(至少在模拟器上)
adb shell data/system/Dropbox 然后使用 ls 查看在 Dropbox iinside Dropbox 中生成的文件,你会得到崩溃、anr 和 traces 文件
如果要访问它们,请创建文件夹并在该文件夹中打开 adb 并使用以下命令 adb pull data/system/dropbox