我的Nexus One与USB连接。
当我访问DDMS的文件资源管理器时,如果我点击“数据”文件夹,名称“数据”附近的小加号消失2-6秒然后重新出现,但文件夹“数据”的位置是没有显示!
这里有一些其他信息:
文件夹数据具有权限drwxrwx - x
我的电脑的操作系统是Windows XP
Eclipse v.5.5.2
Android SDK 1.6
答案 0 :(得分:9)
如果adbd守护程序以root用户身份运行,则可以使用基于adb的工具(如DDMS文件资源管理器或adb shell)浏览/数据。
如果不是,您可以直接通过完整路径名访问/ data及其子项下的几个文件,但不能浏览(或“cd”)大多数文件夹,包括/ data本身。
作为非官方过程的“生根”意味着改变事物并产生不同的结果 - 即,adbd可能会或可能不会以root身份运行。如果在启动脚本(例如/init.rc)中将ro.secure设置为0,则adbd将以root身份运行,但这可能不是用户设备上的好主意。它在模拟器上设置为0,这就是你可以在那里浏览/数据的原因。
最后,请注意/init.rc通常包含在内核中的ramdisk映像中 - 你无法在手机上真正编辑它,但必须离线修改图像,重新附加到内核,并重新闪烁它们。虽然如果你有某种工作'su'hack,你可以暂时更改属性并重新启动adbd。
答案 1 :(得分:6)
在此链接(http://denniskubes.com/2012/09/25/read-android-data-folder-without-rooting/)中,Dennis Kubes显示了一种无需root访问权限即可访问应用程序数据文件夹的方法。
原来有一个简单的解决方案,即run-as命令。
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
这将允许您作为应用程序运行命令。您还可以在交互模式下使用run-as。
run-as com.your.package
shell@android:/data/data/com.your.package $ ls
cache
databases
lib
shared_prefs
rm databases/mydatabase.db
交互模式会将您转到应用的数据文件夹中。你可以从那里导航。
答案 2 :(得分:2)
我认为没有人真正理解这个问题。 Giorgio可以使用DDMS文件资源管理器浏览手机上的./data文件夹。 Pentium10谈到了在手机上需要root访问权限。
我是零售商Nexus One和开发商Nexus。我一直能够使用DDMS文件资源管理器浏览开发人员手机上的./data文件夹,而不是我的零售手机。所以我支持我的零售电话会有所帮助。我没有。
因此,底线是零售和开发商手机有所不同。在进行更多研究之前,您将无法浏览手机上的数据文件夹。
希望这有帮助。