我有一个扎根的 Nexus One,当我在终端上发出以下命令时,我可以查看我正在开发的应用程序的数据库。
adb shell
su
cd data/data/.../databases/
sqlite3 events.db
现在这工作正常,但我希望能够提取文件并使用 gui SQLITE 应用程序/浏览器(例如 Firefox 插件)查看它
我曾经能够使用 FileExplorer 从 Eclipse 访问数据文件夹,但它突然停止工作,我只是想知道是否有办法再次做到这一点..
谢谢
在通过 Google 进行大量研究后,我简化了在 Eclipse 中访问 SQLite 数据库的过程。我将在此处汇总我的研究,以便在连接或模拟的 Android 手机上访问 SQLite 数据库,以便在 Eclipse 中查看。
要浏览设备上特定应用程序的文件,请授予应用程序路径中每个文件夹的读取和访问权限。
在此之后,您应该能够浏览设备上的文件。
一个非常有用的 Eclipse 插件,用于从 Eclipse 中浏览 Android 手机上的 SQLite 数据库,似乎不再受支持,Questoid 浏览器插件
在 Eclipse 中,在文件资源管理器中,您单击的文件资源管理器窗口右上角有一个蓝色的 3 层煎饼状圆柱图标。
这将在与 LogCat 相同的窗口中的 Questoid 选项卡中打开数据库文件。
希望你们发现这篇文章对于逐步查看数据库更有用。
参考
现在看来您的设备已设置为默认情况下 adb shell 不是 root,您必须使用 su 来获取 root shell。Eclipse 中的 DDMS 文件资源管理器不会这样做,因此如果 adbd 设置为以 root 身份运行并默认为客户端提供 root 访问权限,它将只有 root 访问权限。
您可以从 adb shell 中检查这一点
ps
(并查看“ps”进程是否以 root 或 shell 身份运行)或
getprop ro.secure
使用 su root shell,您可以重新挂载 root 文件系统并将 default.prop 中的 ro.secure 更改为 0 - 除其他外,这将导致 adbd 以 root 身份运行并默认授予 root shell。但是,这具有安全隐患,您可能不想这样。您需要在网络上搜索特定设备的确切 shell remount 命令(因为 adb 方便,在 adbd 还不是 root 的情况下无法使用)。
您还可以查看“adb root”命令是否可以将 adbd 置于 root 模式。
在进行任何配置更改的意义上,您的系统可能不是“根”,而只是在存在自定义 su 二进制文件的意义上,它允许知道获得 root shell 可能性的非特权用户 -库存工具不知道这种可能性,因此无法。
你可以试试
adb pull /data/data/.../databases/events.db
或类似的东西将sqlite文件拉到您的硬盘驱动器并打开它。