Ответ 1
Вы можете использовать инструмент adb, расположенный в your_sd_root_dir/tools. Используйте его так:
./adb pull path_to_file location_to_save
Я пишу приложение для сообщений о сбоях и соответствующих журналах. Поэтому из моего приложения я пытаюсь получить доступ к traces.txt и надгробным плитам, но я получаю сообщение об ошибке:
03-25 09:48:46.220 W/System.err(10250): java.io.FileNotFoundException: /data/tombstone/tombstone_00 (Permission denied)
Я могу получить доступ к traces.txt, но не к надгробным плитам.
Вы можете использовать инструмент adb, расположенный в your_sd_root_dir/tools. Используйте его так:
./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 и встроенными устройствами Android.
Вы можете сначала проверить, создан ли файл или нет. Вы можете сделать это, зайдя в
DDMS -> File Explorer -> data -> data -> (Your Package) -> files -> (Your File)
DDMS находится в правом верхнем углу вашего затмения. Если файл отсутствует в указанном выше пути, он не создается должным образом, но если он все еще там изменяет путь к вашему файлу при доступе к нему, например. /data/data/(Your Package)/traces.txt
Вы также можете вытащить этот файл traces.txt на рабочий стол. Опция Pull указана на верхней панели ниже DDMS.
Это сделало это для меня: adb pull "/data/anr/traces.txt"
adb shell "cd /data/anr && cat traces.txt" > anr.txt
Это скопирует файл traces.txt в файл anr.txt в текущем каталоге настроек
Вы должны иметь возможность получить файл, который вам нужен, с помощью класса DropBoxManager http://developer.android.com/reference/android/os/DropBoxManager.html
Файл надгробия также скопирован в dropbox (по крайней мере, на эмуляторе)
Данные/система Adb shell/Dropbox затем используют ls для просмотра файлов, сгенерированных внутри Dropbox iinside dropbox, вы получите аварийные сообщения, файл anr и traces
Если вы хотите получить доступ к ним, создайте папку и откройте adb внутри этой папки и используйте следующую команду: adb pull data/system/dropbox