Android模拟器设备文件浏览器中出现“Permission denied”错误

36

Device File Explorer screenshot

我想检查外部存储器中是否已创建了一个文件夹。

我已在AndroidManifest.xml中添加了许可:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

但也不起作用。

有任何线索吗?

4个回答

47

/sdcard 是指向 /storage/emulated/0 的符号链接。因此,您应该能够在 /sdcard/Android/data/<your app> 中看到您应用程序的外部文件。


10
同样的情况也适用于那里。ls:/sdcard/Android/data/:权限被拒绝。 - JanithaR
几个月后,我遇到了同样的问题,然后再次看到了我的评论。这一次它有效了。所以我猜想,这个答案是否有效,取决于您的模拟器使用的图像和Android版本。 - JanithaR
3
请注意,Android非常完整的文档表示文件位于/data/data目录下:https://developer.android.com/studio/debug/device-file-explorer - Phlip

12

看起来您正在使用Google Play系统镜像。

您需要使用标准的Android(AOSP)系统镜像(而不是Google APIs或Google Play系统镜像)。

在此处查看详细信息


7
我的应用需要使用谷歌API来运行,我该如何确定是否可以访问它? - ProjectDelta

5

因为系统文件位于其中,所以要访问您的设备文件,请打开self->主文件夹。


但是我使用 'Environment.getExternalStorageDirectory().getAbsolutePath();', Logcat 看到的是 /storage/emulated/0/xxx。 这是外部存储路径吗? - BlueStar
如果您打开模拟器设备的设备资源管理器,那么您就能够查看您想要查看的路径中的文件。但是在物理设备上,您无法看到这些文件,因此我认为如果您的设备已经获取了 root 权限,则可以查看文件。这可能需要一些权限。 - ankitsinh corepix

4

根据 phlip 提到的文档,我的模拟器正确的位置是 data/data/app_name/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接