之前在『一次实战爱上「LitePal」』的文末介绍了如何通过『Android Studio』导出数据库文件到本地查看的方法,但是在对接硬件设备的时候我发现,有些厂家的板子在『Android Studio』上无法正常展示文件目录:
网上的很多方案都提及使用『SuperSU』来解决,我尝试后无果,为了不浪费宝贵的开发时间,于是转用 ADB 来查看数据库,特此记录。
ADB 的环境配置之前已经讲过,不再赘述。
首先进入 Shell 环境:
➜ adb shell
然后进入到对应的数据库目录:
➜ adb shell
➜ cd /data/data/<package_name>/databases
这个目录相信做 Android 开发都不陌生了,数据库都存放在该应用的相应目录下。
可以先看看目录下有哪些数据库:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ ls
接下来打开要查看的数据库:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
通过 sqlite3
命令打开数据库,即可执行相关的数据库操作,比如查看当前数据库内所有的表:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ .table
查看数据库建表语句:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ .schema
或者执行 SQL 语句:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ SELECT * FROM <table_name>;
这里要注意,SQL 语句的最后记得不要把 ;
符号落下。
执行完之后可以通过 .exit
命令退出数据库:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ .exit
也可以用 .quit
:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ .quit
此时依然处于 Shell 环境中。
如果想要退出 Shell 环境,再执行 exit
命令即可:
➜ adb shell
➜ cd /data/data/<package_name>/databases
➜ sqlite3 <db_name>
➜ .quit
➜ exit
注意此命令与上面退出数据库的命令是不一样的,退出 Shell 不需要加 .
符号。