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

我testing了创build,插入和检索数据到我的应用程序数据库,并知道它通过使用日志语句。

不过,我希望加快testing并使用Android设备监视器。 但是,尽pipe数据库存在并且存储了数据,但在下面访问时, data文件夹是空的:

在这里输入图像说明

为什么会这样呢? 如何configuration显示数据库文件和内容?

Related of "Android设备监视器“数据”文件夹为空"

使用模拟器解决问题

文件夹/data可能为空,因为您缺less适当的权限。 要解决这个问题,我不得不执行下面的命令。

 adb shell su 

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

 chmod -R 777 /data 

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

 adb root 

最后,这个命令以root身份重新启动adb 。 小心,它只适用于开发构build(通常是模拟器构build)。

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

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

除了@Steven K的回答:如果你想访问你的数据,而不必根植你的真实设备,你需要在API 23 (或更低版本)的模拟器中运行你的应用程序。 在部署Android设备监视器时,23以上的API会导致问题 ,这是一个已知的问题 。

它不是空的….你只是没有权限查看设备上的文件夹。

尝试在模拟器中,它会为你工作,因为你有根访问。

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

或者你可以看到这个post:

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

我有同样的问题, API_25 ,它不适合我。

configuration一个API_23 emulator ,它将在API_23工作。

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

  1. 您需要拥有具有超级用户权限的手机才能使用ADM(Android设备监视器)浏览数据文件夹。

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

  1. 您需要以root模式运行ADB,通过执行: adb root来执行此操作

如果你只是想看你的数据库和表格,那么最好的方法就是使用Stetho 。 非常酷的工具,每个Android开发人员都使用开发的,由Facobook developed SQLite Facobook developed

Steps to use the tool

  1. 在你的应用程序的gradle文件(Module:app)中添加下面的dependeccy

'compile'c​​om.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); } 

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

 chrome://inspect/#devices 

截图同样如下

ChromeInspact

ChromeInspact

你的数据库

你的数据库

希望这将有助于所有! 🙂