我已经测试了在我的应用程序数据库中创建,插入和检索数据,并且通过使用Log语句知道它的工作原理.
但是,我希望加快测试并使用Android设备监视器.但是,尽管存在db并且存储了数据,但在下面访问时,该data
文件夹为空:
为什么会这样呢?如何配置它来显示db文件和内容?
该文件夹/data
可能为空,因为您缺少适当的权限.要解决它,我必须执行以下命令.
adb shell su
这些命令在模拟器中启动shell并授予您root权限.该命令adb
位于platform-tools
Android SDK 的文件夹中,通常安装在~/Library/Android/sdk/
MacOS上.
chmod -R 777 /data
修改文件夹(和递归子文件夹)的权限,/data
以使它们出现在工具A ndroid Device Monitor中.
adb root
最后,此命令adb
以root身份重新启动.要小心,它只适用于开发版本(通常是模拟器版本).
之后,您可以看到文件夹的内容/data
并传输位于的文件.您也可以在控制台中使用adb pull
,例如:
adb pull /data/data//databases/ .
除了@Steven K公司的答案:如果你想访问你的数据,而不必根,你需要在运行你的应用程序你的真实设备仿真器与API 23(或更低).在部署Android设备监视器时,23以上的API可能会导致问题,这是一个众所周知的问题.
它不是空的....您只是没有权限在设备上查看该文件夹.
在模拟器中试用它,因为你有root访问权限,它会对你有用.
如果有人遇到所述问题,请在终端窗口中按照以下步骤操作:
导航到/ Users/Username/Library/Android/sdk/platform-tools
执行./adb root
而已.问题解决了.
在开发期间将数据库存储在公用文件夹中可能更容易.
或者你可以看到这篇文章:
如何访问Android设备中的数据/数据文件夹?