sqlite3

无论是通过连接到设备的远程 shell,还是直接在宿主机上,您都可以使用 sqlite3 命令行程序来管理 Android 应用创建的 SQLite 数据库。sqlite3 工具包含许多有用的命令,例如用于打印表内容的 .dump,以及用于打印现有表 SQL CREATE 语句的 .schema。该工具还允许您即时执行 SQLite 命令。

有关完整详情,请参阅 SQLite 文档。如需了解更多文档,请访问 sqlite3 页面以及 SQLite 支持的 SQL 语言规范

要从远程 shell 使用 sqlite3

  1. 输入以下命令进入远程 shell
    adb [-d|-e|-s {<serialNumber>}] shell
  2. 在远程 shell 中,通过输入以下命令启动 sqlite3 工具
    sqlite3

    您可以选择指定要浏览的数据库的完整路径。模拟器/设备实例将 SQLite 数据库存储在 /data/data/<package_name>/databases/ 目录中。

  3. 启动 sqlite3 后,您可以在 shell 中发出命令。要退出并返回 adb 远程 shell,请输入 exit 或按 Control+D。

例如

$ adb -s emulator-5554 shell
# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
SQLite version 3.3.12
Enter ".help" for instructions
.... enter commands, then quit...
# sqlite> .exit

注意:您需要具有文件系统的 root 访问权限才能查看 /data/data 目录层级中的文件。

要在本地(而不是在 shell 中)使用 sqlite3,请从设备中拉取(pull)数据库文件并启动 sqlite3

  1. 将数据库文件从您的设备复制到宿主机
    adb pull <database-file-on-device>
    
  2. 启动 sqlite3 工具,并指定数据库文件
    sqlite3 <database-file-on-host>