大家好,我知道如何在模拟器上使用sqlite3来监控应用程序的数据。可以在真机上使用吗?
我的设备是 Nexus S,当我尝试使用我的设备时,它说未找到 sqlite3。 sqlite 3设备是否必须是root设备?我的设备不是 root 设备。
我知道其他查找数据的机制,例如将数据库文件转储到 SD 卡中,然后使用第三方 SQL 浏览器来查看数据。
最佳答案
你不能使用 Sqlite3,但你可以这样做。 以下解决方案仅适用于可调试的应用程序。它可能无法在所有设备上正常工作,因为 run-as 命令在某些设备上不起作用,尤其是 Jelly Bean。
创建*.bat或*.sh文件并复制以下脚本
adb shell run-as [package] chmod 777/data/data/[package]/databases/
adb shell run-as [package] chmod 777 data/data/[package]/databases/[db_file_name]
adb shell cp/data/data/[package]/databases/[db_file_name]/sdcard/
adb pull/sdcard/[db_file_name]
将[包]更改为所需的应用程序包
将 [db_file_name] 更改为所需的数据库名称 运行 bat 文件并 您应该在与 bat 相同的文件夹中看到复制的数据库 文件
关于android - 我可以在非 root 设备上使用 sqlite 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23011231/