为什么'data'文件夹不能像DDMS文件浏览器一样显示?

时间:2010-09-28 07:52:24

标签: android eclipse file 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.为什么我不能像Eclipse DDMS文件浏览器那样访问'/ data'文件夹?

2.为什么它与仅显示的DDMS不同:

data
sdcard
system

谢谢!

3 个答案:

答案 0 :(得分:12)

rooted 设备上,您可以执行此操作来访问/ data文件夹:

  1. 打开cmd
  2. 输入“adb shell
  3. su
  4. 按设备上的“允许”
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. 转到Eclipse中的DDMS视图
  7. 在此之后,您应该可以浏览设备上的文件。

答案 1 :(得分:7)

主要是因为安全问题。如果/ data文件夹对每个人都可见,那么一些恶意应用程序可以读取/回火/删除其他应用程序的数据,如果某些应用程序存储了一些敏感数据,如密码/信用卡号等,则可能会变得更糟。所以整个文件系统仅通过调试控制台(或ddms)可见。
您无法访问设备上任何应用程序的数据,除非它是根植的,因为这样做可能会损害系统的完整性并导致奇怪的行为。这意味着您无法访问应用程序的缓存数据/数据库。

答案 2 :(得分:0)

我在非root用户设备上执行了此操作,但是它可以正常工作

   run-as com.your.package ls -l /data/data/com.your.package
   run-as com.your.package rm /data/data/com.your.package/databases/mydatabase.db

参考:http://denniskubes.com/2012/09/25/read-android-data-folder-without-rooting/