安卓 - SQLite数据库存储位置在哪里?

23
可能重复:Android模拟器存储SQLite数据库的位置? 我正在使用SQLite和PhoneGap创建一个多平台应用程序。但是,我遇到了一个问题。
我现在正在寻找PhoneGap存储名为0000000000000001.dbdatabase.db的数据库文件的位置。
我已经找到了iPhone的文件位置,但似乎无法找到Android的位置。我目前正在模拟器和实际设备(ARCHOS)上运行。
3个回答

24

打开DDMS视图窗口: (窗口->打开视图->其他->DDMS) 它应该会在新标签页中打开。

进入DDMS->文件浏览器->数据->数据->查看您的包名->数据库->这里是您的数据库文件。(在右上角,从设备选择“拉取文件”)导出它并通过Sqlite数据库连接器打开。

您将看到更新后的数据。在执行这些步骤之前,请确保您已经先运行了应用程序。


1
谢谢,找到了。不过你知道当这个文件在设备上时我该如何访问它吗? - SingleWave Games
我基本上需要使用PhoneGap创建一个动态数据库,因此您关于构建.apk文件的观点将适用于原始构建。但是,我需要访问此数据库以更新我的数据。按照您上面提到的方式,这仍然可能吗?谢谢。 - SingleWave Games
6
注意:如果设备没有 root 权限,DDMS 将无法查看或访问 /data/data/ 路径!如果您的设备被 root 了,请使用 adb pull 命令通过 USB 将文件复制到电脑上。 - Bill The Ape
DDMS无法访问/data/data目录,是否可以在无需root权限的情况下设置权限? - Saravana

10

这里可以找到你的数据库,但仅限于模拟器。

输入图像描述


1
谢谢,找到了。不过你知道当这个文件在设备上时我该如何访问它吗? - SingleWave Games
1
你可以尝试在设备上使用文件管理器,如果你已经对设备进行了“root”,也许会有帮助,但我不确定。 - Natali

6
通常应用程序的数据库位于以下文件夹中:

/data/data/[packagename]/databases

但是我从未使用过PhoneGap,所以这可能会有所不同。您可以在上述位置进行检查。

1
我正在使用Eclipse,并在我的工作区文件夹中查找,但似乎找不到数据文件夹。我是个新手,如果您能指导我找到上述文件夹的方向,我将不胜感激。谢谢。 - SingleWave Games
数据库是动态创建的,这不会出现在您的工作区,而是在设备上。您需要转到DDMS并按照@Natali发布的操作进行操作。 - nandeesh
谢谢,找到了。不过你知道当这个文件在设备上时我该如何访问它吗? - SingleWave Games
你需要一个已经root的设备来提取这个数据库,它将会在模拟器所在的同一目录下。 - nandeesh
4
注意:如果设备没有**越狱(rooted)**,DDMS 无法查看或访问/data/data/路径!如果您的设备已越狱,请使用adb pull通过 USB 将文件复制到电脑上。 - Bill The Ape

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接