Android模拟器数据库的物理位置

时间:2010-12-08 01:41:15

标签: android

SDK& amp;是否可以在Android模拟器上访问SQLite数据库? Eclipse已关闭? (例如直接,通过文件系统)

我不介意通过Eclipse提取它,但是模拟器必须打开,并且由于某种原因,喜欢在尝试拉动数据库文件时关闭它。如果我可以在没有模拟器的情况下直接访问它,并且没有eclipse就会更容易......

当然它在文件系统中某处作为SQLite数据库持续存在?

2 个答案:

答案 0 :(得分:5)

使用SDK附带的adb工具:

adb shell
cd /data/data/the.package/databases
sqlite3 name_of_database.db

如果您想在没有模拟器的情况下访问它,则必须先将其拉出来:

adb pull /data/data/the.package/databases/name_of_database.db

然后关闭模拟器并使用计算机上的sqlite3命令访问数据库(或任何允许您打开sqlite数据库的应用程序)。当然,如果您进行更改并希望它们再次出现在模拟器中,则必须推送修改后的数据库:

adb push name_of_database.db /data/data/the.package/databases/name_of_database.db

答案 1 :(得分:0)

  

SDK& amp;是否可以在Android模拟器上访问SQLite数据库? Eclipse已关闭? (例如直接,通过文件系统)

如果您的意思是“当模拟器关闭时”,那么没有。

  

我不介意通过Eclipse提取它,但是模拟器必须打开,并且出于某种原因,它喜欢在尝试提取数据库文件时关闭。

FWIW,我从未遇到过这种情况。

  

当然它在文件系统中某处作为SQLite数据库持续存在?

在Android的模拟器文件系统中,是的。它不是开发机器文件系统中的文件。