安卓应用的SQLite数据库存储在哪里?

3

我正在尝试确定安卓手机上应用程序的SQLite数据库存储在哪里。我正在测试并需要能够删除它并测试创建代码。在模拟器中,它位于/data/data/应用程序包名称/something.db,但我无法在实际手机上找到它。有人知道它存储在哪里以及是否可以通过DDMS访问吗?

谢谢

2个回答

7
如果您需要在手机上访问数据库,必须拥有手机的root访问权限(也就是超级用户权限)。然后您需要使用具有root权限的文件浏览器来访问系统文件。
如果以上条件都满足,那么您将在以下位置找到应用程序数据库: /data/data/com.yourpackage.name/databases.

你的文件路径中是否有重复的“data”目录? - Joshua Pinter
@JoshPinter:如果你指的是/data/data...中的其中一个,那么这是默认路径结构。 - Siddharth Lele
@SiddharthLele 奇怪,我的数据库路径最终变成了 /data/<包名>/databases/mydatabase.db - Joshua Pinter
@JoshPinter:确实很有趣。我刚在我的 Nexus 4 上检查了一下,它是 /data/data 啊。我认为这是因为你正在从自己的应用程序中访问自己的包。当然,这只是猜测。等我有点空闲时间时会进一步研究的。;-) - Siddharth Lele
@SiddharthLele,你可能是正确的。感谢您的跟进。 - Joshua Pinter
显示剩余2条评论

0
提到此 SO答案 ,我能够使用以下方式找出我的应用程序的数据库文件路径:
String DBPath = "//data//" + "<package name>" + "//databases//" + database_name;

JP


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