【发布时间】:2013-12-02 11:57:08
【问题描述】:
我正在为我的开发使用 genymotion,当我创建数据库时,我在 genymotion 模拟器的 DDMS 文件夹中看不到它。
在谷歌上搜索时,我可以在 adb shell 上看到数据库,但不知道如何将数据库拉到本地磁盘以查看数据。
谁能告诉我这个过程。
提前致谢
【问题讨论】:
标签: android sqlite adb genymotion
我正在为我的开发使用 genymotion,当我创建数据库时,我在 genymotion 模拟器的 DDMS 文件夹中看不到它。
在谷歌上搜索时,我可以在 adb shell 上看到数据库,但不知道如何将数据库拉到本地磁盘以查看数据。
谁能告诉我这个过程。
提前致谢
【问题讨论】:
标签: android sqlite adb genymotion
试用 Genymotion 2.3:
adb shell su -c cp /data/data/<package.name>/databases/<database.name> /sdcard/
以及其他版本:
adb shell su 0 cp /data/data/<package.name>/databases/<database.name> /sdcard/
然后从设备中拉出来
adb pull /sdcard/<database.name>
(已编辑,2.3 和 4.3 中 su 的表述不一样)
【讨论】:
您可以(也)通过将数据复制到共享文件夹来将数据从设备中提取到主机:
adb shell su 0 cp /data/data/<package.name>/databases/<database.name> /mnt/shared/
Here is如何设置共享文件夹:
- 转到您的 VirtualBox VM 设置/共享文件夹选项卡
- 将共享文件夹添加到您要共享的文件夹中,并勾选“自动挂载”选项
- 像往常一样从 Genymotion 软件启动虚拟机
- 您的共享文件夹在 /mnt/shared 目录中可用(支持多个共享文件夹)
【讨论】:
-c,其余一切都很好。
adb shell su cp...、adb shell su -c cp... 或adb shell su 0 cp...
使用 adb 命令拉取数据库
adb pull /data/data/com.android.packagename/databases.datebase.db
数据库将被拉到终端指向的当前位置
然后使用 sqliteman 打开数据库
【讨论】: