我正在尝试访问Android的“外部”文件夹,但我找不到它。请注意,我的设备是Motorola Xoom,我使用的是adb shell。
如何找到外部文件夹?我应该安装NDK吗?
感谢
答案 0 :(得分:0)
由于访问权限(需要root用户权限),某些文件夹无法访问。尝试在模拟器中访问此文件夹。它默认为root,你会看到是否是原因。
答案 1 :(得分:0)
我认为你的意思是Envronment.getExternalStrorageDirectory()
的“外部”返回值,对吗?
然后目录不是“外部”,可能是/ mnt / sdcard /或其他你可以logcat来获取上面函数返回值的东西。
您可以通过“ls / mnt / sdcard /”
在shell中访问它答案 2 :(得分:0)
我猜你指的是sdcard文件夹。
有些设备只有一个SD卡,有些Android设备有内置的SD卡,并支持额外的所谓“外部”SD卡。
通常,主要SD卡安装在/mnt/sdcard
,而辅助SD卡(如果支持此类)则安装在/mnt/sdcard/external_sd
。这些位置没有记录,实际上由设备供应商决定(有时它们是不同的)。
如果您不确定您的设备有哪些SD卡挂载点,则可以使用以下命令列出它们:
adb shell mount | grep sdcard
以下是Samsung Infusion 4g的输出结果:
/dev/block/vold/179:1 /mnt/sdcard vfat rw,...
/dev/block/vold/179:9 /mnt/sdcard/external_sd vfat rw,...
tmpfs /mnt/sdcard/external_sd/.android_secure tmpfs ro,...
答案 3 :(得分:0)
获取外部存储的状态以确保其可用:
Environment.getExternalStorageState();
这会将状态返回为String
,然后您可以将其与以下内容进行比较:
- Environment.MEDIA_UNMOUNTABLE
- Environment.MEDIA_REMOVED
...
答案 4 :(得分:0)
Xoom中的外部SD卡安装在/ mnt / external1 /,并且从任何级别向该目录授予读访问权限,因为它以只读方式挂载。从3.2开始,可以在清单中指定SD写入权限,但MEDIA访问权限仍然有限。