我的设备没有root,我想检查我开发的应用程序的数据库的内容。如何将此数据库下载到我的桌面电脑,以便我可以检查内容。我已经尝试使用astro和fileexpert,但在那里我无法访问我的应用程序的数据文件夹。是否有可能实现这一目标?
由于
答案 0 :(得分:1)
使用应用程序代码,您必须将数据库文件从/data/data/<application_package>/database/
目录复制到/mnt/sdcard
,然后您可以将该文件提取到您的系统。
或者您可以在模拟器上运行您的应用程序,然后您可以在模拟器生根时从/data/data/<application_package>/database/
访问它。
答案 1 :(得分:1)
如果您可以使用USB线将设备插入开发计算机,则可以使用adb tool。特别是,命令adb pull
可用于从设备中检索任何文件。数据库文件位于/data/data/<android_package_name>/database
。使用命令行,完整命令为:
adb pull /data/data<android_package_name/database
然后,您可以使用sqlite3
工具连接到数据库文件并检查它是否正确。或者,您可以使用adb shell
直接连接到设备上的命令行,并使用设备sqlite3
工具检出数据库。 (注意事项:这在模拟器上有效。我不确定sqlite3
是否安装了物理设备。)
答案 2 :(得分:0)
有几个选择:
如果apk仍然是调试版本,您可以通过adb shell使用run-as命令将文件复制到外部存储,然后adb从那里拉出来。这需要一些unix shell知识,因为没有'cp'二进制文件,大多数都使用cat和重定向。
您可以在程序中添加功能,将文件复制到外部存储器进行检查。由于没有文件复制功能,您必须实际编写代码才能进行复制。
您可以将文件的访问权限更改为全球可读,并且直接adb拉取它,尽管您将无法浏览它所在的目录树;考虑打印logcat的绝对路径或从包信息中确定它。
您可以在默认情况下生根的模拟器上运行
答案 3 :(得分:0)
如果你想要一些更加图形化的东西,你可以从IDE Eclipse进入PMMS,选择你的设备,然后从文件资源管理器选项卡中查找路径/data/data/ <package name of your aplicacacion> /databases
,选择你的数据库文件和点击“拉一个文件”按钮(位于右上角)
然后,如果您想使用其他图形工具,可以使用firefox插件“SQLite Manager”。