将SQLite数据库从模拟器(data / data / package_name / databases)获取到本地驱动器

时间:2012-02-27 04:26:19

标签: android database sqlite

我想使用SQLite浏览器编辑我的应用程序的数据库。我可以使用adb shell(sqlite3)编辑数据库,但我宁愿使用GUI而不是命令行来编辑它。如何将数据库从仿真器获取到本地驱动器?截至目前,我已经尝试过:

1)使用adb pull命令将数据库从模拟器拉到本地驱动器。

adb pull data / data / com.myapps.quiz c:/

此命令正确执行,但我无法在我指定的本地驱动器中找到该文件或目录。

2)使用DDMS Perspective在文件资源管理器中找到文件,但每次进入数据/数据目录时,我只看到名为“con”的目录。我甚至试图拉动整个数据/数据目录,但是我找不到存储数据库的包的名称(com.myapps.quiz)。

我在这里缺少什么?您可以提供的任何帮助都是最有帮助的!

2 个答案:

答案 0 :(得分:1)

您的数据库对您的数据包是安全的,因此您无法直接获取此数据库。

我有一个解决方法。

我做的是转到shell并运行 - 作为我的包并使用cat将数据库复制到SD卡

adb shell
run-as your.package.name
cd databases
cat your_database.db > /mnt/sdcard/your_database.db

我使用文件资源管理器从SD卡中提取文件

答案 1 :(得分:0)

您确定要连接到DDMS中的模拟器实例,而不是实际设备吗?我一直能够从

推送和提取sqlite数据库
 data/data/com.my.package/databases/mydb.sqlite

目录,我想不出任何会覆盖它的设置。另一种方法是根据实际手机,然后您就可以将任何东西从手机移动到您的计算机上。