通过访问数据库。 adb shell

时间:2014-02-22 17:12:31

标签: android sqlite adb

developer docs中,提到了sqlite3可通过adb shell获得。但是,当我这样做时,我看到的数据库看起来完全是空的,而当我adb pull .sqlite文件并在本地检查它时,它包含它应该包含的内容。例如,在后一种情况下.tables列出了表,在前一种情况下它没有列出任何内容,并且从应该存在的表中尝试select返回“错误:没有这样的表”。等

没有权限问题 - sqlite3没有投诉就开始了,我显然是root用户,权限是660.

1 个答案:

答案 0 :(得分:1)

担心有人可能有一天会犯同样的愚蠢错误:请注意,如果您使用sqlite3的文件路径不存在,则会假定您正在创建新数据库。

显然我已登录cd'到/data/data/[app] - 我可以在Android设备监视器的“文件资源管理器”中看到database/[app].sqlite - 忘了{{1}并且没有费心去cd database,因为我(有点潜意识)假设ls会给出“找不到文件”错误,如果不存在的话。这会创建一个空的sqlite3文件,这是我随后一无所获的内容。