我最近用Android Studio创建了一个Emulator设备,但却发现我无法打开/ data / data文件夹来获取sqlite db文件。该文件夹无法打开,我已经尝试使用shell scirpt来chmod / data目录,但它说没有找到su命令。
有没有人有同样的问题?或者我必须根据模拟器?但它是一个模拟器!我认为根植模拟器有点不方便!
使用管理员优先级打开DDMS。有同样的问题,它解决了它。这样做的最快意味着打开android studio,管理员主流并从那里打开DDMS。
否则,请看这个链接Android device monitor
更新
不记得是否来自Android Studio 3.0或更高版本,但是如果你已经下载了AS 3.3+,你会在右下角找到名为Device File Explorer
的标签,它可以让你在没有生根的情况下查看并轻松获取应用程序的数据。
以管理员身份打开并没有帮助,但根电话确实有效,而且我没有降低我的SDK版本。
打开cmd并转到C:\ Users \ {User} \ AppData \ Local \ Android \ Sdk \ platform-tools或文件夹位置,然后在地址栏中键入cmd
。
无论您是否超级用户都可以通过$
确定:
C:\{User}\...\platform-tools>adb shell
generic_x86:/ $ exit
要获得su / root权限,请键入adb root
并退出:
C:\{User}\...\platform-tools>adb root
generic_x86:/ # exit
接下来运行Android设备监视器以提取数据。
要关闭根类型adb unroot
。
即使在无法访问数据/数据文件夹的情况下以管理员身份运行Android Studio之后,也请尝试使用API 23或更低版本的仿真器设备。
工具选项下不再使用Android Studio 3.1.2和DDMS。相反,Android Studio右下角有“设备文件浏览器”选项卡(我知道为什么要把它放在那里)。
单击“设备文件资源管理器”选项卡,然后选择要探索的Android设备。要实际访问文件,请确保在AVD中打开USB调试。
如果这不起作用,您将需要使用终端面板。
C:\ Users \ B \ AppData \ Local \ Android \ sdk \ platform-tools> adb pull /data/data/com.example.b.expensewatcher/databases/myexpenses.db
/data/data/com.example.b.expensewatcher/databases/myexpenses.db:1个文件被拉。 3.3 MB / s(在0.007秒内24576字节)
有关更改文件夹权限的更多详细信息,请参阅:https://www.dev2qa.com/android-device-monitor-cannot-open-data-folder-resolve-method/
您可以通过打开IDE右下角的“设备文件浏览器”来访问android studio中的数据文件夹,而不是生成您的Android手机。打开'data> data> packagename> databases'可以保存数据库文件,但这将是加密形式。您可以直接从PC上的文件浏览器访问它。
为SQLite安装DB Browser并选择“打开数据库”选项。
连接您的Android设备并启用“文件传输”。转到安装android studio的目录,即我的案例文档。然后,
C:\ Users \用户普拉纳\文件\ AndroidStudio \ DeviceExplorer \小米-redmi_note_4-164594b \数据\数据\ com.android.packagename \数据库
您可以在此处找到您的数据库。
希望能帮助到你!
使用adb根模拟器设备。完成后,您将有权访问data \ data文件夹
adb shell
su
adb工具将出现在Users \\ AppData \ Local \ Android \ sdk1 \ platform-tools中
打开cmd,将目录更改为上面的文件夹并输入上面的代码重启Android设备监视器(如果需要)