繁体   English   中英

Android设备监控器“数据”文件夹为空

[英]Android Device Monitor “data” folder is empty

我已经测试了在应用程序数据库中创建,插入和检索数据的过程,并且知道它可以通过使用Log语句来工作。

但是,我希望加快测试速度并使用Android设备监视器。 但是,尽管数据库存在并且存储了数据,但是在下面访问时, data文件夹为空:

在此处输入图片说明

为什么会这样呢? 如何配置它以显示db文件和内容?

使用仿真器解决问题

文件夹/data可以为空,因为您缺少适当的权限。 为了解决这个问题,我必须执行以下命令。

adb shell
su

这些命令在模拟器中启动外壳程序,并授予您root权限。 命令adb位于Android SDK的platform-tools文件夹中,通常安装在MacOS上的~/Library/Android/sdk/中。

chmod -R 777 /data

修改文件夹(和递归子文件夹) /data的权限,以使它们出现在工具A ndroid Device Monitor中

adb root

最后,此命令以root身份重新启动adb 注意,它仅适用于开发版本(通常是仿真程序版本)。

之后,您可以查看/data文件夹的内容并传输其中的数据。您也可以在控制台中使用adb pull <remote> <locale> ,例如:

adb pull /data/data/<app name>/databases/<database> .

除了@Steven K的答案之外:如果您想获得对数据的访问权限而不必植根真实设备,则需要在具有API 23 (或更低版本)的模拟器中运行应用程序。 已知的问题是,高于23的API可能会在部署Android设备监视器时引起问题。

它不为空...。您只是没有权限在设备上查看该文件夹。

在模拟器中进行尝试,由于您具有root访问权限,因此它将为您工作。

如果有人遇到上述问题,请在终端窗口中按照以下步骤操作:

  1. 导航到/ Users / 用户名 / Library / Android / sdk / platform-tools
  2. 执行./adb root

而已。 问题解决了。

在开发过程中,将数据库存储在公用文件夹中可能会更容易。

或者你可以看到这篇文章:

如何在Android设备中访问数据/数据文件夹?

如果要浏览设备数据(数据/数据)文件夹,有两种方法。

  1. 您需要拥有具有root用户访问权限的电话,才能使用ADM(Android设备监视器)浏览数据文件夹。

ADM位置-(YOUR_SDK_PATH \\ Android \\ sdk \\ tools)

  1. 您需要以root模式运行ADB,请执行以下操作: adb root

如果您只想查看数据库和表,那么最简单的方法是使用Stetho 对于每个使用Facobook developed SQLite Facobook developed Android开发者来说,它都是很酷的工具。

Steps to use the tool

  1. 在应用程序的gradle文件中添加以下Dependeccy(模块:app)

'编译'com.facebook.stetho:stetho:1.4.2'

  1. 在Activity onCreate()方法中添加以下代码行
 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Stetho.initializeWithDefaults(this); setContentView(R.layout.activity_main); } 

现在,构建您的应用程序&当应用程序运行时,您可以通过在URL中打开chrome浏览应用程序数据库:

chrome://inspect/#devices

相同的截图如下

ChromeInspact

ChromeInspact

您的数据库

您的数据库

希望这对大家有帮助! :)

我在API_25也遇到了同样的问题,它对我不起作用。

配置一个API_23 emulator ,它将在API_23API_23

如果您使用的是Windows,请按照以下说明进行操作:

  1. 在android模拟器中启动您的应用。
  2. 然后以管理员身份打开命令提示符,并导航到sdk路径,例如cd C:\\Android\\sdk\\platform-tools
  3. 输入adb root
  4. 然后输入adb pull /data/data/ name-of-your-package /databases/name-of-your-database
  5. 您将在名为platform-tools的文件夹中找到数据库。

然后,您可以通过chrome网站商店在谷歌浏览器中安装Sqlite Manager扩展程序,并使用它来查看和管理您导出的数据库。

如果您的手机已扎根,则可以按照上述相同的说明进行操作。

在cmd GoTo中:

C:\Users\UserName\android-sdks\platform-tools

执行:

adb root

完成

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM