如何通过 adb shell 命令从 android 设备中提取应用程序的数据库?
谢谢
如果您的设备上既没有 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 拉出文件。
数据库存储在文件中,主要在内部存储中,在 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
AFAIK 您只能从 Android Emulator 中获取数据库,而不是从真实设备中获取数据库(除非设备已植根)。
为此,只需转到 DDMS --> 文件资源管理器 --> 数据 --> 数据 --> 您的包名称 --> 数据库
您的数据库应该在数据库文件夹内
选择数据库后,您将在上方选项卡上看到两个图标,您可以在其中推送或拉取数据库。
我不认为你可以从设备中提取提取数据库,但是你可以从 DDMS > 文件资源管理器 > 数据 > 数据 > 包 > 数据库的模拟器中提取它