使用 Android Studio 和 Database Navigator 连接到正在运行的应用的 SQLite 数据库
Posted
技术标签:
【中文标题】使用 Android Studio 和 Database Navigator 连接到正在运行的应用的 SQLite 数据库【英文标题】:Connect to a running app's SQLite database using Android Studio and Database Navigator 【发布时间】:2019-06-15 07:09:56 【问题描述】:我刚开始在一个 android 项目上工作,我发现了一个错误,需要检查我的应用在运行时使用的 SQLite 数据库,以搜索不一致的数据。
我刚刚回到 Android 上工作,但几年前我从事过 Android 项目,我记得在运行时使用设备监视器检查我设备上的数据库表和数据,但该功能已被弃用并从Android Studio 3.2(我现在正在使用)。
我已经在 Stack Overflow 和其他地方搜索了几个小时的解决方案,我找到的所有解决方案都来自
将 .db 文件从您的设备复制到您的计算机并在您选择的 SQLite 浏览器上打开
到
在浏览和编辑配置文件和运行命令数小时后,下载这个超级阴暗的工具,它几乎没有功能,而且几乎不能浏览数据库在控制台上,您可能会在运行时连接到数据库
第一个我不能做,因为我需要在调试时我的应用当前使用的同一数据库上查看和运行查询,而第二个尝试不安全。
所以我发现了用于 Jetbrains 相关 IDE (https://plugins.jetbrains.com/plugin/1800-database-navigator) 的插件 Database Navigator,它承诺提供一个很好的 UI,用于在 Android Studio 内部连接和查看数据以及运行查询,但我不知道如何在调试过程中配置与设备的连接。
我发现 Android 调试数据库 (https://github.com/amitshekhariitbhu/Android-Debug-Database) 确实可以工作并且易于配置,但我发现它非常有限并且可以在浏览器上运行(我想要来自 Android Studio 内部的东西),虽然我把它放在一边作为“如果其他任何事情失败”的解决方案。
我的首要任务是在 Android Studio 本身上设置 Database Navigator 以便于工作。
【问题讨论】:
这不是您要寻找的答案,但 Facebook Stetho 将允许您查看和导航正在运行的调试应用程序(安装了 stetho) @ElliotM 我发现 Android 调试数据库更易于使用和配置,但谢谢!我真的很想在 Android Studio 中运行接近 Android Device Monitor 的东西,它更容易使用。为什么 Google 还是弃用了它? 我必须检查那个 Android Debug Database 库,我不知道为什么引入了弃用 - 想知道自己:D 你可能会发现这个Are there any methods that assist with resolving common SQLite issues?甚至这个SQLiteInformationAssistant 【参考方案1】:在 Android Studio 中转到 查看 -> 工具窗口 -> 设备文件资源管理器, 在那里找到你的包名(例如,com.example.packagename), 然后找到文件夹“数据库”->右键单击->另存为...并将文件夹保存在本地计算机上。 转到 DB Navigator -> 设置 -> + -> SQlite ->(可选)在“名称”字段中,您可以为连接命名,在“描述”字段中 - 连接描述 -> 在“数据库”中files' -> + -> 选择您的 db 文件,该文件之前存储在本地计算机上。 现在您可以使用 DB Navigator。
【讨论】:
以上是关于使用 Android Studio 和 Database Navigator 连接到正在运行的应用的 SQLite 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何建立与 Android studio和 gradle android 库