当前位置: 首页 > 知识库问答 >
问题:

如何使用ADB从android设备提取sqlite数据库?[副本]

仲法
2023-03-14

我遵循了答案中给出的分步说明,即如何在Android设备上查看SQLite数据库?

1) 连接设备并以调试模式启动应用程序。

2) 将数据库文件从应用程序文件夹复制到sd卡。您可能需要使用adb-dshell“以com.resmed.mon ls/data/data/com.resmed.mon/databases/”来查看html" target="_blank">数据库文件名。

3)adb-d shell"run-ascom.yourpackge.namecat /data/data/com.yourpackge.name/databases/filename.sqlite

(在我的例子中是“/data/data/com.mypackge.name/databases/MyDb”)

4)将数据库文件拉至您的机器:

5) adb pull/sdcard/filename。sqlite。

6) 安装Firefox SQLLite管理器:https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

7)打开Firefox SQLLite管理器(工具-

但是在我的例子中,提取的数据库总是空的。当我打开SQLLite Manager上的文件时,我找不到我的表和数据。我不明白为什么。我可以在调试模式下使用我的应用程序在我的设备屏幕上看到数据。是否有其他文件夹可以存储我的数据库?我的手机没有扎根。

谢谢你的帮助。

PS:我想对之前的答案发表评论,但我的声誉太低,无法与答案互动。

共有2个答案

林星华
2023-03-14

就我所记得的,您不应该能够从非根设备提取数据库。但是,您可以从模拟器获得它!

吕学
2023-03-14

我发布了一个用于转储数据库的简单shell脚本:

https://github.com/Pixplicity/dbdump

它执行这里描述的两种不同的方法:

  1. 首先,它尝试让其他用户可以访问该文件,并尝试从设备中拉取它。
  2. 如果失败,它将文件的内容通过终端流到本地计算机。它执行一个额外的技巧来删除一些设备输出到shell的字符。

在这里,您可以使用各种CLI或GUI SQLite应用程序,例如sqlite3sqlitebrowser,来浏览数据库的内容。

 类似资料: