我有一个应用程序,目前表现很奇怪。它使用 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/