是否可以将保存在保存应用程序文件的目录中的文件拉出来?
我从应用程序创建了文件:
file = new File(this.getFilesDir(), "locs_" + Calendar.getInstance().getTimeInMillis()+".log");
我想检查一下,如果一段时间后它是正确生成的。我想在设备上没有根源。
当我想去app目录(包是sk.coplas.mitlocation.app)并尝试列出文件时,我被拒绝了。
cd /data/data/sk.coplas.mitlocation.app
ls
opendir failed, Permission denied
当我尝试使用adb shell pull拉这个文件时,我的Permission被拒绝了。
adb pull /data/data/sk.coplas.mitlocation.app/files/locs_1394631917783.log
failed to copy '/data/data/sk.coplas.mitlocation.app/files/locs_1394631917783.log' to './locs_1394631917783.log': Permission denied
答案 0 :(得分:2)
经过一番研究后,我发现可以运行"作为应用程序"如果它可以在设备上调试。然后我可以更改文件的权限并将文件拉到桌面等。
adb shell
run-as sk.coplas.mitlocation.app
现在我在我的应用程序的根目录中
shell@mako:/data/data/sk.coplas.mitlocation.app $ ls
cache
files
lib
shared_prefs
接下来,我将转到文件目录和列表文件及其权限
shell@mako:/data/data/sk.coplas.mitlocation.app $ cd files
shell@mako:/data/data/sk.coplas.mitlocation.app/files $ ls -l
-rw-rw---- u0_a207 u0_a207 598 2014-03-12 14:46 locs_1394631917783.log
-rw-rw---- u0_a207 u0_a207 300 2014-03-12 14:46 locs_1394631973301.log
-rw-rw---- u0_a207 u0_a207 996 2014-03-12 14:48 locs_1394632002138.log
-rw-rw---- u0_a207 u0_a207 50 2014-03-12 14:56 locs_1394632574220.log
-rw-rw---- u0_a207 u0_a207 50 2014-03-12 14:56 locs_1394632602211.log
我会向所有人添加阅读权限
10|shell@mako:/data/data/sk.coplas.mitlocation.app/files $ chmod 664 locs*
shell@mako:/data/data/sk.coplas.mitlocation.app/files $ ls -l
-rw-rw-r-- u0_a207 u0_a207 598 2014-03-12 14:46 locs_1394631917783.log
-rw-rw-r-- u0_a207 u0_a207 300 2014-03-12 14:46 locs_1394631973301.log
-rw-rw-r-- u0_a207 u0_a207 996 2014-03-12 14:48 locs_1394632002138.log
-rw-rw-r-- u0_a207 u0_a207 50 2014-03-12 14:56 locs_1394632574220.log
-rw-rw-r-- u0_a207 u0_a207 50 2014-03-12 14:56 locs_1394632602211.log
drw-rw---- u0_a207 u0_a207 2014-03-12 15:45 logs
从桌面上的终端我将拉出文件,一切正常。
adb pull /data/data/sk.coplas.mitlocation.app/files/locs_1394631917783.log
5 KB/s (598 bytes in 0.102s)