为什么’data’文件夹不能像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 

谢谢!

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

  1. 打开cmd
  2. 输入’ adb shell
  3. su
  4. 在设备上按“允许”
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. 转到Eclipse中的DDMS视图

在此之后,您应该能够浏览设备上的文件。

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

我是在一个非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/