通过adb从android设备提取应用程序数据库
如何通过adb shell命令从android设备中提取应用程序的数据库通过adb从android设备提取应用程序数据库,android,database,adb,Android,Database,Adb,如何通过adb shell命令从android设备中提取应用程序的数据库 谢谢,您只能从Android Emulator获取数据库,除非设备是根设备,否则不能从真实设备获取数据库。 为此,只需转到DDMS->File Explorer->data->data->your package name->databases即可 您的数据库应位于databases文件夹中 选择数据库后,您将在上面的选项卡上看到两个图标,您可以在其中推拉数据库。数据库存储在应用程序数据目录中的文件中,大部分存储在内部存储
谢谢,您只能从Android Emulator获取数据库,除非设备是根设备,否则不能从真实设备获取数据库。 为此,只需转到DDMS->File Explorer->data->data->your package name->databases即可 您的数据库应位于databases文件夹中
选择数据库后,您将在上面的选项卡上看到两个图标,您可以在其中推拉数据库。数据库存储在应用程序数据目录中的文件中,大部分存储在内部存储器中,如:
/data/data/com.example.myapp/mydb
所以你可以
adb pull /data/data/com.example.myapp/mydb
然后可以使用打开该文件,并使用数据库。要将其放回:
adb push <new file> /data/data/com.example.myapp/mydb
我不认为您可以从设备中提取数据库,但您可以从emulator从DDMS>文件资源管理器>数据>数据>软件包>数据库中提取数据库。如果您的设备上既没有SD卡也没有根目录,只需使用adb外壳即可
$ adb shell
$ run-as com.your.package cat /data/data/com.your.package/databases/your_db > /storage/sdcard0/Download/your.db
然后使用DDMS拉出文件。在此询问了1000次。我确信,只有当您的软件包已将可调试设置为true时,此操作才会起作用。请注意,最后一个路径可能与您的不同。我的Nexus 5上的/sdcard/Download/your.db