java - 如何在应用程序运行时探索 SQLite 数据库? Eclipse (Juno) > Android (adb)

标签 java android eclipse sqlite debugging

我有一个应用程序,目前表现很奇怪。它使用 SQLite 数据库,在我想要改进它的某些部分之前它运行得很好。现在问题来了:当应用程序在我的手机上运行时,我如何“探索”我的数据库?

就像您可以监视变量,并在某个时候中断调试 session 时检查它们。
但用的是SQLite数据库。 (应用程序当然处于空闲状态的“主要”状态,我可以在其中检查数据库。)

最佳答案

尝试

adb shell
sqlite3 /data/data/com.app.name/databases/DatabaseName.db

这将带您进入 SQLite 命令行。从那里,您可以对数据库执行 SQLite 查询/数据转储以查看其中的数据。如果您想使用真实设备(即不是模拟器)执行此操作,那么您需要先对设备进行 root。

<小时/>

注意:

如果您的设备不允许您执行 sqlite3 二进制文件(或者设备路径中不存在该二进制文件...或者它根本不存在,等等) ,您可以在本地计算机上安装sqlite3,然后执行

adb pull /data/data/com.app.name/databases/DatabaseName.db .
sqlite3 DatabaseName.db

它将数据库复制到本地目录,然后在本地计算机上执行sqlite3二进制文件。当我 root 摩托罗拉 Xoom 时,这种情况发生在我身上一次...但第一个建议在大多数设备上都运行良好(至少根据我的经验)。

关于java - 如何在应用程序运行时探索 SQLite 数据库? Eclipse (Juno) > Android (adb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268600/

相关文章:

java - 使用 Stream.of 检查 List<String> 是否以另一个字符串开头

android - Android Studio-安装Android Studio 3.1.3后gradle无法同步

eclipse - 尝试通过ResourcesPlugin获取工作区时出现"Workspace is closed"异常

java - AtomicInteger.incrementAndGet 线程安全吗?

java 属性 - 公开还是不公开?

java - 查找两个矩阵之间的偏移量

android - 在 Android 4.2.2 中将 screenBrightness 属性设置为 0.0f 不再关闭屏幕?

Eclipse 中的 Java LWJGL

eclipse - 是否可以为左手使用创建 "delete"热键?

java - Android 上的 Log4j2