2013-02-20 42 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