4

我有一个扎根的 Nexus One,当我在终端上发出以下命令时,我可以查看我正在开发的应用程序的数据库。

adb shell
su 
cd data/data/.../databases/
sqlite3 events.db

现在这工作正常,但我希望能够提取文件并使用 gui SQLITE 应用程序/浏览器(例如 Firefox 插件)查看它

我曾经能够使用 FileExplorer 从 Eclipse 访问数据文件夹,但它突然停止工作,我只是想知道是否有办法再次做到这一点..

谢谢

4

3 回答 3

5

在通过 Google 进行大量研究后,我简化了在 Eclipse 中访问 SQLite 数据库的过程。我将在此处汇总我的研究,以便在连接或模拟的 Android 手机上访问 SQLite 数据库,以便在 Eclipse 中查看

要浏览设备上特定应用程序的文件,请授予应用程序路径中每个文件夹的读取和访问权限。

  1. 打开 cmd/终端
  2. 输入“亚行外壳”
  3. 在设备上按“允许”
  4. chmod 777 /data /data/data /data/data/com.application.package
  5. chmod -R 777 /data/data/com.application.package

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

一个非常有用的 Eclipse 插件,用于从 Eclipse 中浏览 Android 手机上的 SQLite 数据库,似乎不再受支持,Questoid 浏览器插件

  1. 目前,您可以在此处从 Java2S 下载插件:http ://www.java2s.com/Code/Jar/c/Downloadcomquestoidsqlitebrowser120jar.htm
  2. 将插件的 com.questoid.sqlitebrowser_1.2.0.jar 文件放在 Eclipse 插件文件夹中(例如 /path/to/eclipse/plugins)
  3. 重启 Eclipse
  4. 在 Eclipse 中切换到 DDMS 透视图
  5. 选择合适的设备(在这种情况下是您的手机,或者您的 Android 模拟器)
  6. 转到“文件资源管理器”选项卡以浏览设备的文件
  7. 在 /data/data/com.application.package/databases/database_name 下找到并选择数据库
  8. 在 Eclipse 中,在文件资源管理器中,您单击的文件资源管理器窗口右上角有一个蓝色的 3 层煎饼状圆柱图标。

    单击文件资源管理器窗口右上角的蓝色 3 层煎饼状圆柱图标 http://www.tylerfrankenstein.com/sites/default/files/styles/large/public/questoid.png

    这将在与 LogCat 相同的窗口中的 Questoid 选项卡中打开数据库文件。

  9. 单击“Questoid SQLite 浏览器”选项卡
  10. 单击“浏览数据”子选项卡
  11. 从下拉菜单中选择您的表
  12. 并且...您有您的数据供您观赏

希望你们发现这篇文章对于逐步查看数据库更有用。


参考

于 2013-09-15T07:34:16.573 回答
3

现在看来您的设备已设置为默认情况下 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 可能性的非特权用户 -库存工具不知道这种可能性,因此无法。

于 2011-08-08T14:58:59.733 回答
1

你可以试试

adb pull /data/data/.../databases/events.db

或类似的东西将sqlite文件拉到您的硬盘驱动器并打开它。

于 2011-08-12T08:58:24.300 回答