2010-09-28 25 views
5

我列出文件 '/' 由:爲什麼數據文件夾不能像DDMS文件瀏覽器一樣顯示?

File directory = new File("/"); 
fill_listview(directory.listFiles()); 

而且我得到那些名單:

sqlite_stmt_journals 
config 
cache 
sdcard 
d 
etc 
system 
sys 
sbin 
proc 
init.rc 
init.goldfish.rc 
init 
default.prop 
data 
root 
dev 

我有兩個問題:

1.爲什麼水溼我訪問'/ data'文件夾就像Eclipse DDMS文件瀏覽器一樣?

2.爲什麼是從DDMS只顯示不同:

data 
sdcard 
system 

謝謝!

回答

12

紮根設備,你可以做這個訪問/ data文件夾:

  1. 打開CMD
  2. 類型 'adb shell'
  3. su
  4. 按 '允許' 在設備
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. 轉到Eclipse中的DDMS視圖

之後,您應該可以瀏覽設備上的文件。

+0

抱歉,但無論如何瀏覽/數據文件夾沒有root權限? – dumbfingers 2012-09-25 18:19:36

+0

@ ss1271我不這麼認爲。 – peceps 2012-09-28 10:31:54

+0

這使您可以訪問應用程序數據文件夾的根目錄,但要獲取任何有用的信息,還需要chmod子文件夾。 chmod -R 777 /data/data/com.application.pacakage – nathanielwolf 2013-02-05 04:48:22

7

這主要是因爲安全問題。如果/ data文件夾對每個人都是可見的,那麼一些惡意應用程序可以讀取/緩和/刪除某些其他應用程序的數據,如果某些應用程序正在存儲一些敏感數據,如密碼/信用卡號等,這些數據可能會變得更糟。因此,整個文件系統只有通過調試控制檯(或ddms)才能看到。
你不能訪問設備上的任何應用程序的數據,除非它的根源,因爲這樣做,系統的完整性可能會受到損害,並可能導致奇怪的行爲。這意味着你不能訪問應用程序的緩存數據/數據庫。

+0

非常感謝!現在我知道這是因爲Android訪問控制。這真的很有幫助。 – herbertD 2010-09-29 02:13:19

+0

這是非常好的答案。 – 2013-12-01 13:33:57

相關問題