Genymotion shell有没有命令可以查看我的数据库?

4

你好,我在尝试查看我从Android代码创建的数据库时遇到了困难。我正在使用Genymotion模拟器,但是在我的项目数据文件夹中的文件管理器中无法看到任何内容。有没有办法从Genymotion shell中查看我的数据库?谢谢。


你的adb shell在该设备上是以root身份还是shell身份运行?如果它以root身份运行,那么adb pull或DDMS文件浏览器应该能够获取它。如果不是,那就更加棘手了。这个普遍的问题在这里已经被问过很多次了,所以你可以看一下其他人的答案。 - Chris Stratton
4个回答

6
您可以在模拟器中安装一个应用程序,该应用程序可以让您浏览已安装的应用程序的数据库。必须具备Root权限,由于Genymotion虚拟设备已经获取了Root权限,因此您可以按照以下步骤操作:
  1. 启动Genymotion虚拟设备。
  2. 使用任何APK下载服务下载SQLite Debugger APK。
  3. 将下载的APK文件拖放到已经运行的Genymotion虚拟设备中。
  4. 在模拟器中启动SQLite Debugger,并选择“App”选项。
  5. 弹出窗口显示所有已安装的应用程序。选择其中一个,然后查看、更新或删除其数据库。

SQLite Debugger showcase


4

我经常从设备上取出它,并使用Firefox中的Sqlite Manager查看:

adb pull /data/data/com.yourpackage/databases/yourdb.db

对我来说最好的答案,在实际的Genymotion版本上运行得很好。 - Belial09

0

这很不可能奏效,除非应用程序已经将自己的数据目录设置为全局可读。 - Chris Stratton

0

您可以使用adb命令从设备中提取数据库

adb pull /data/data/com.yourpackage/databases/yourdb.db

它将被复制到您的终端指向的文件夹中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接