使用 RequerySQLiteOpenHelperFactory 时如何浏览 android 房间数据库

How to browse android room database when using RequerySQLiteOpenHelperFactory

对于我当前的 Android 应用程序,我正在使用此版本的 Android Studio

Android Studio Dolphin | 2021.3.1 Canary 9
Build #AI-213.7172.25.2113.8473230, built on April 19, 2022
Runtime version: 11.0.13+0-b1751.21-8125866 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false

我的本地房间数据库使用了来自 requery

的 HelperFactory
api 'com.github.requery:sqlite-android:3.36.0'

一切正常,除了 Android Studio 不允许我通过 App Inspection -> Database Inspector

浏览数据库

我发现的唯一方法是将 HelperFactory 配置为仅在发布版本上设置。

有什么方法可以让 Android Studio 在设置了重新查询 HelperFactory 时打开我的设备房间数据库?

不像应用检查那样easy/convenient。您可以使用设备资源管理器找到实际文件并复制它们,并使用 SQLite 工具(SQLite 的 DB Browser、SQlite 的 Navicat、DBEaver、SQlite Studio)检查数据库。

注意除非另有说明,文件已被用作 Room 将使用 SQLite 的 WAL (write-ahead logging)。如果有两个文件,与数据库文件同名但后缀为-wal和-shm且-wal文件不为空,则数据库的一部分将在-wal文件中。所以在这种情况下,复制 -wal 和 -shm 文件很重要。如果没有 -wal 文件或者它是空的,那么数据库已经完全检查点。

  • 这是在数据库 Inspector/App 检查出现之前使用的方式。