android - 基因运动。如何从设备中提取数据库。我的/数据/数据/文件夹似乎是空的

标签 android eclipse adb database genymotion

我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示文件。

我通过 cd 通过 adb 登录到/sdk/platform-tools 并输入 ./adb shell su 。我看到该选项卡不起作用,所以我盲目地输入了路径。无论如何,我无法拉取数据库,也许我在命令上做错了什么。

我尝试通过 DBMS 连接,但数据文件夹不显示内容。

在 Emulator 上一切顺利,但模拟器很慢,我宁愿使用 genymotion。

对如何处理这个问题有什么建议吗?

最佳答案

我没有遇到你说的问题,Genymotion 上的默认 shell 用户是 root,所以它不应该发生。尽管如此,您可以使用 run-as 命令直接访问您的数据。

简而言之。您应用的数据文件夹受您应用的用户权限保护。 默认 shell 用户无权访问应用程序的文件夹。由于 run-as 命令,您可以更改 shell 使用的用户。

  1. 打开一个shell:adb shell
  2. 然后输入:run-as your.package.name

此命令会将 shell 用户更改为您的应用程序的用户。因此,您将有权读取和写入应用程序的数据。您还将被重定向到应用程序的数据文件夹:/data/data/you.package.name

完成后,您可以轻松浏览文件。

注意:您的应用必须构建为调试才能使用此命令。它应该显示在 DDMS 的设备进程列表中。

关于android - 基因运动。如何从设备中提取数据库。我的/数据/数据/文件夹似乎是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18167136/

相关文章:

android - 从 android Activity 向 adb 发送命令

java - Android:将数据(附加)传递给 fragment

android - 如何在android中写入/读取数组到文件

android - 在 onOptionsItemSelected 之外获取菜单

java - 为所有开发人员强制使用相同的代码格式是一个好主意吗?

java - Servlet 在 Eclipse 中运行时抛出异常

按任意键时android编辑文本隐藏在键盘下方

Eclipse - Maven 和 Mercurial

android - 卸载应用程序后,无法再在我的设备上重新安装我的 Android 应用程序。 (错误类型 3 : MainActivity does not exist)

android - (httplog)-静态 : issbsettingenabled false android