无法在root用户手机上打开数据目录

6 eclipse sqlite android root

我只是根植我的手机,因为我需要访问数据库我的应用程序是uisng.但是,即使我的手机已植根,我仍然无法在Eclipse File Explorer中打开数据文件夹.

有什么我忘了吗?我需要告诉Eclipse我是超级用户还是其他什么?我可以访问模拟器上的数据文件夹,但不能访问我的实际设备.

而且我真的想在我的设备上进行开发,模拟器速度慢得多,我无法使用互联网连接.

有任何想法吗?

hac*_*bod 5

在当前版本的Android中,您不需要这样做.只需在清单中放入android:debuggable ="true",然后就可以使用shell的"run-as <package_name>"切换到应用程序的uid,以便访问其数据目录.

这肯定适用于2.3或更高版本; 它可能适用于2.2我不记得它何时进入.


Ale*_*dam 4

另一种选择是使用设备本身的根资源管理器检查数据库。它可以读取.db文件。如果你需要修改它们,有SQLite编辑器(同一家公司的),但我对此没有太多经验。


更新:到达此页面后我正在玩手机:http://www.screaming-penguin.com/node/7742

我没有像那篇文章中那样使用模拟器,而是将手机连接到 USB(三星 Captivate,定制 2.2 ROM),并启用了 USB 调试。

作为示例,我运行以下命令:

$adb -d shell
# su
# cd /dbdata/databases/com.android.browser
# sqlite3 browser.db
sqlite> .tables
.tables
android_metadata  bookmarks    folders    searches
sqlite> select * from bookmarks;
(listed all my bookmarks)
Run Code Online (Sandbox Code Playgroud)

基本上,您可以在您打开的任何数据库上从 adb 运行任何 SQL 命令(前提是您以 su 身份运行它)

  • @Sled如果您的手机中安装了超级用户,请在连接时将其打开,然后重试 adb shell su。您会在手机中看到一个弹出窗口,请求您的许可。如果这不起作用,xda-developers 有很多关于对每部手机进行 root 的提示。 (2认同)