4

如何通过 adb shell 命令从 android 设备中提取应用程序的数据库?

谢谢

4

4 回答 4

7

如果您的设备上既没有 SD 卡也没有 root,只需使用 adb shell。

$ adb shell
$ run-as com.your.package cat /data/data/com.your.package/databases/your_db > /storage/sdcard0/Download/your.db

然后使用 DDMS 拉出文件。

于 2014-01-29T07:26:51.937 回答
3

数据库存储在文件中,主要在内部存储中,在 App 的数据目录中,例如:

/data/data/com.example.myapp/mydb 

所以你可以做

adb pull /data/data/com.example.myapp/mydb

然后您可以使用一些软件打开该文件,并使用数据库。把它放回去:

adb push <new file> /data/data/com.example.myapp/mydb
于 2013-02-07T05:56:33.970 回答
-1

AFAIK 您只能从 Android Emulator 中获取数据库,而不是从真实设备中获取数据库(除非设备已植根)。
为此,只需转到 DDMS --> 文件资源管理器 --> 数据 --> 数据 --> 您的包名称 --> 数据库

您的数据库应该在数据库文件夹内

选择数据库后,您将在上方选项卡上看到两个图标,您可以在其中推送或拉取数据库。

于 2013-02-07T05:53:50.950 回答
-1

我不认为你可以从设备中提取提取数据库,但是你可以从 DDMS > 文件资源管理器 > 数据 > 数据 > 包 > 数据库的模拟器中提取它

于 2013-02-07T05:57:19.830 回答