android - FileExplorer eclipse作为root

时间:2011-03-09 00:49:24

标签: android eclipse sqlite root ddms

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

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

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

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

谢谢

3 个答案:

答案 0 :(得分:5)

经过Google的大量研究后,我简化了在Eclipse中访问SQLite数据库的过程。我将在这里的答案中编译我的研究,以便在连接或模拟的Android手机上访问SQLite数据库,以便在Eclipse中查看

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

  1. 打开cmd / terminal
  2. 输入'adb shell'
  3. 按设备上的“允许”
  4. chmod 777 / data / data / data /data/data/com.application.package
  5. chmod -R 777 /data/data/com.application.package
  6. 在此之后,您应该可以浏览设备上的文件。

    一个非常有用的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. 下查找并选择数据库
    9. 在Eclipse中,在文件资源管理器中,您单击的文件资源管理器窗口的右上角有一个蓝色的3层类似煎饼的圆柱图标。

      Click blue 3-layer pancake-like cylinder icon in the upper-right corner of the File Explorer Window http://www.tylerfrankenstein.com/sites/default/files/styles/large/public/questoid.png

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

    10. 点击“Questoid SQLite浏览器”标签
    11. 点击“浏览数据”子标签
    12. 从下拉菜单中选择您的表格
    13. 并且......您拥有观看快乐的数据
    14. 希望你们发现这篇文章更有用,作为查看数据库的一步一步。


      参考

答案 1 :(得分: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,您可以重新安装根文件系统并在default.prop中将ro.secure更改为0 - 除此之外,这将导致adbd以root身份运行并默认授予root shell。但是,这具有安全隐患,您可能不希望这样做。您需要对特定设备的确切shell remount命令进行网络搜索(因为adbd方便,在adbd还不是root的情况下不适用)。

您还可以查看'adb root'命令是否可以将adbd置于root模式。

可能是您的系统在进行任何配置更改时没有“根”,而是仅在存在自定义su二进制文件的意义上允许无特权的用户知道是否有可能获得root shell - 股票工具不会知道这种可能性,因此无法做到。

答案 2 :(得分:1)

你可以尝试

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

或类似的东西将sqlite文件拉到你的硬盘并打开它。