通过adb从android设备中提取应用程序的数据库

Sid*_*yas 2 database android adb

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

谢谢

Ali*_*sei 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
Run Code Online (Sandbox Code Playgroud)

然后使用DDMS将文件拉出.

  • 我确信只有当您的包将 debuggable 设置为 true 时,这才有效。 (2认同)

S.D*_*.D. 4

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

/data/data/com.example.myapp/mydb 
Run Code Online (Sandbox Code Playgroud)

所以你可以做

adb pull /data/data/com.example.myapp/mydb
Run Code Online (Sandbox Code Playgroud)

然后您可以使用一些软件打开该文件并使用数据库。要将其放回原处:

adb push <new file> /data/data/com.example.myapp/mydb
Run Code Online (Sandbox Code Playgroud)