5

我通过以下方式列出了“/”中的文件:

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

谢谢!

4

3 回答 3

12

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

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

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

于 2012-01-17T14:14:17.707 回答
7

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

于 2010-09-28T09:09:53.213 回答
0

我在非根设备上做了这个并且它有效

   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/

于 2015-05-10T11:45:46.223 回答