我在'/'中列出文件:
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
谢谢!
答案 0 :(得分:12)
在 rooted 设备上,您可以执行此操作来访问/ data文件夹:
adb shell
”su
chmod 777 /data /data/data /data/data/com.application.pacakage
在此之后,您应该可以浏览设备上的文件。
答案 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/