有时需要查看应用的本地数据库是否改变,一般可以使用sqliteStudio来查看(需要把xx.db文件导出来).现在记录一下如何在adb shell
下面查看
Android 把数据都存在在/data/data/下面.如果我们需要查看那个应用的数据库内容,就进入到这个应用的包名的目录.然后进入里面的
databases目录,使用ls目录查看数据库文件的名称,再使用sqlite3相关的目录操作就可以了.
具体参考下面的例子:
adb shell
cd data/data/com.android.providers.settings
cd databases 进入目录
ls 显示文件,会发现xxx.db文件,这个例子会看到settings.db这个文件
sqlite3 settings.db 执行到这里命令行会变成sqlite> 开头的,这是表示已经打开了settings.db 这
sqlite>.help 这个命令让我们看到许多命令
sqlite> .exit 命令退出sqlite,返回到#提示符。
sqlite>.tables 查看所有表.
实际我们会看到下面这些表
android_Metadata bookmarks secure
bluetooth_devices global system
sqlite> select * from secure;
注意这里要添加分号,这里就会列出表secure 的全部内容了,但是数据是以下面的形式显示的.
如果需要显示的好看一点,可以执行下面的命令
sqlite>.mode column 显示的列会对齐
sqlite>.header on 显示的时候会在顶部显示列的名称
sqlite> .mode insert secure
在插入模式下,被子格式化为看起来像sql INSERT语句的样式。你可以用插入模式来产生文件(便于)以后用于不同数据库的输入。
当指定插入模式时,你必须给定一个特定参数就是要插入的表名
sqlite> update secure set value="1" where _id=1; 修改数据
sqlite> delete from secure where name="lock_screen_show"; 删除数据