2013-02-20 35 views
0

当我浏览DDMS的文件浏览器时,目录/data为空。如何揭示Android的/数据/数据的内容?

我运行adb pull /data /myLocalCopy后也是空的。

然而context.getFileStreamPath("myFile.txt")表示myFile.txt在致电context.openFileOutput("myFile.txt", ..)后将登陆/data/data/com.corp.appName/files/myFile.txt

如何运行ls -al /data

回答

2

此目录对于正常进程不可读。您必须是root(或system)才能查看内容。所以要么尝试使用固定电话或使用模拟器。在权限设置

展望:

drwxrwx--x system system   2012-07-24 21:47 data 

你看,普通用户不能列出该目录的内容(需要r许可),但可以访问以下文件(x权限是那里)。因此,它是不是一个矛盾的文件可以存储及以下/data

特别访问时,系统会创建一个目录/data/data/com.corp.appName这是由应用程序com.corp.appName资让该应用程序在该子树完全访问权限。

+0

这很有道理。这是否意味着在开发过程中没有办法使DDMS具有与我的应用程序相同的特权?只是偷看我的应用程序编写的内容需要从应用程序本身读取,而不是从任何Eclipse/ADT实用程序读取? – Calaf 2013-02-20 17:53:26

+1

当您的应用程序以调试模式构建时,您可以通过命令行工作:'adb shell',然后'run-as com.corp.appName'可以访问应用程序的文件。 – Henry 2013-02-20 18:05:09

+0

还有一个问题(续集:)问题......在'adb shell'和'run-as ...'之后,有没有办法将文件从设备复制到桌面机器上? – Calaf 2013-02-22 22:41:03