之前在『一次实战爱上「LitePal」』的文末介绍了如何通过『Android Studio』导出数据库文件到本地查看的方法,但是在对接硬件设备的时候我发现,有些厂家的板子在『Android Studio』上无法正常展示文件目录:

RK3399 无法在 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 不需要加 . 符号。