我按照How do I view the SQLite database on an Android device?
的答案中给出的分步说明进行操作1)连接您的设备并以调试模式启动应用程序。
2)将数据库文件从您的应用程序文件夹复制到您的SD 卡。您可能希望使用adb -d shell“run-as com.resmed.mon ls /data/data/com.resmed.mon/databases/“看看数据库是什么 文件名是。
3)adb -d shell“run-as com.yourpackge.name cat /data/data/com.yourpackge.name/databases/filename.sqlite> /sdcard/filename.sqlite“
(在我的案例中为“/data/data/com.mypackge.name/databases/MyDb”)
4)将数据库文件拉到您的机器上:
5)adb pull /sdcard/filename.sqlite。
6)安装Firefox SQLLite Manager: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
7)打开Firefox SQLLite Manager(Tools-> SQLite Manager)并打开你的 上面第3步的数据库文件。“
但就我而言,提取的数据库始终为空。当我在SQL Lite Manager上打开文件时,我找不到我的表和我的数据。我不明白为什么。我可以在调试模式下使用我的应用程序在设备屏幕上看到数据。是否有其他文件夹可以存储我的数据库? 我的手机没有扎根。
感谢您的帮助。
PS:我想对之前的答案发表评论,但我的声誉太低,无法与答案互动。
答案 0 :(得分:2)
我发布了一个用于转储数据库的简单shell脚本:
它执行两种不同的方法:
\r
个字符。从这里,您可以使用各种CLI或GUI SQLite应用程序(例如sqlite3
或sqlitebrowser
)来浏览数据库的内容。
答案 1 :(得分:-1)
据我记忆,您不应该从非root设备中提取数据库。但是你可以从模拟器中获取它!