如何在 android 设备模拟器中访问我的应用程序的 SQLite 数据库以进行调试

How to access my app's SQLite database in android device emulator for debugging

我正在尝试将我的应用程序转换为与 API 25 (Nougat) 兼容。但是当我尝试使用 adb shell 转到虚拟设备内我的应用程序的数据库文件夹时,它不允许我这样做。它说权限被拒绝。

我试过了

adb shell
cd data/data/<my app's name>/databases

我在 API 23 虚拟设备上使用相同的程序并且它有效。

此外,即使在模拟器中,所有牛轧糖都没有 root 吗? 我正在使用 Android Studio 2.2.3 并使用其内置的 AVD 创建了虚拟设备。

您必须 运行 ADB root 模式 才能访问数据库文件夹。

检查这个 link - Why do I get access denied to data folder when using adb?

编辑

这是我发现的---

您在 API 23 时已经处于 root 模式,这就是为什么您能够在那里访问数据库但在 API 25 时您不能。

对于API 23

G:\android_studio_new\sdk\platform-tools>adb shell

root@generic_x86:/ #

对于API 25(牛轧糖)

G:\android_studio_new\sdk\platform-tools>adb shell

generic_x86:/ $

所以我发现这是有效的:

adb root shell
adb shell

然后我可以导航到我的应用程序的数据库文件夹并将其打开。