我有一个扎根的Nexus One,当我在终端上发出以下命令时,我可以查看我正在开发的应用程序的数据库。
adb shell
su
cd data/data/.../databases/
sqlite3 events.db
现在这个工作正常,但我希望能够使用gui SQLITE应用程序/浏览器(例如Firefox插件)来提取文件并进行查看
我曾经能够使用FileExplorer从Eclipse访问数据文件夹,但它突然停止工作,我只是想知道是否有办法再次这样做..
谢谢
答案 0 :(得分:5)
经过Google的大量研究后,我简化了在Eclipse中访问SQLite数据库的过程。我将在这里的答案中编译我的研究,以便在连接或模拟的Android手机上访问SQLite数据库,以便在Eclipse中查看。
要浏览设备上特定应用的文件,请为应用路径中的每个文件夹授予读取和访问权限。
在此之后,您应该可以浏览设备上的文件。
一个非常有用的Eclipse插件,用于从Eclipse内部浏览Android手机上的SQLite数据库,似乎不再支持,Questoid浏览器插件
在Eclipse中,在文件资源管理器中,您单击的文件资源管理器窗口的右上角有一个蓝色的3层类似煎饼的圆柱图标。
这将在与LogCat相同的窗口中的Questoid选项卡中打开数据库文件。
希望你们发现这篇文章更有用,作为查看数据库的一步一步。
参考
答案 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文件拉到你的硬盘并打开它。