无法使用Nexus One访问DDMS的文件资源管理器中的数据文件夹!

Gio*_*gio 14 android ddms

我的Nexus One与USB连接.

当我访问DDMS的文件资源管理器时,如果我点击"数据"文件夹,名称"数据"附近的小加号消失2-6秒然后重新出现,但文件夹"数据"的内容未显示!

这里有一些其他信息:

  • 文件夹数据具有权限drwxrwx - x

  • 我的电脑操作系统是Windows XP

  • Eclipse v.3.5.2

  • Android SDK 1.6

Chr*_*ton 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.

  • 那些试图访问在非root设备上开发的应用程序数据的人可能也想查看adb shell下的run-as命令,这可以让你获得一个shell进程作为你的用户id运行(debug-build) )APK,将应用程序的数据目录作为其工作目录. (4认同)

Gra*_*aph 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 Code Online (Sandbox Code Playgroud)

这将允许您作为您的应用程序运行命令.您还可以在交互模式下使用run-as.

run-as com.your.package
shell@android:/data/data/com.your.package $ ls
cache
databases
lib
shared_prefs
rm databases/mydatabase.db
Run Code Online (Sandbox Code Playgroud)

交互模式将使您进入应用程序的数据文件夹.你可以从那里导航.