无法更改SD卡(模拟器)的权限,any1可以指导我如何更改它们吗?

时间:2013-08-23 13:07:51

标签: android android-emulator android-sdcard android-permissions

我的SD卡的许可是Irwxrwxrwx 我无法推送其中的任何文件 Android Emulator sdcard push error: Read-only file system

how to change permission of DDMS / File Explorer / sdcard?

Change file permissions in DDMS (Android)

我已经经历了很多问题,其中一些已经张贴在上面,他们没有帮助.. 我甚至试图从朋友那里获得一个具有读/写权限的图像,但这也无济于事。

2 个答案:

答案 0 :(得分:0)

有时问题出在更简单的问题上:我的SD卡格式化为FAT32,当我将文件系统更改为NTFS时,这个问题就完成了。

答案 1 :(得分:-1)

首先需要创建SD卡图像。这可以在创建AVD图像的同时在AVD管理器中完成。

也必须安装SD卡图像(即如果使用已安装的SD卡)。未安装任何卡时,/sdcard将被视为/system的文件夹。因此,当您尝试在没有安装SD卡的AVD映像上写入/ sdcard时,它会尝试写入只读的/system

<强>更新 确保SD卡安装正确。在插入真实设备时使用adb shell(或adb shell emulator-5554)并在shell中输入df

输出应该如下所示

Filesystem             Size   Used   Free   Blksize
/dev                   378M    32K   378M   4096
/mnt/asec              378M     0K   378M   4096
/mnt/obb               378M     0K   378M   4096
/system                194M   191M     2M   4096
/data                  194M     8M   185M   4096
/cache                  64M     1M    62M   4096
/mnt/sdcard            246M     6K   246M   512
/mnt/secure/asec       246M     6K   246M   512

确保存在这两行。

/mnt/sdcard            246M     6K   246M   512
/mnt/secure/asec       246M     6K   246M   512

这意味着SD卡已正确安装。

话虽如此:在任何情况下都不要使用HARDCODED / SD卡/ ......路径始终使用Envirnoment.getExternalStorageDevice()(适用于多用户)或Environment.getExternalStoragePublicDirectory (String type)(适用于所有用户均可访问的公共文件夹)

澄清:根据ROM的制造商,SD卡安装在不同的物理路径中。当Android首次出现时,所有外部卡默认安装在/sdcard中,因为当时所有设备都有小内存和SD卡插槽。

较新的Android智能手机通常不带SD卡。具有1-16 GB内存的新版本(如平板电脑)不会安装<{1}},而是默认安装到/sdcard。但它也取决于供应商。一个供应商使用一种方式而不是另一种方式。没有SD卡的平板电脑例如使用部分内部存储装置安装到旧版/mnt/sdcard,这是出于兼容性原因。 始终使用 API 获取内部存储空间的路径!

http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory%28%29

http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory%28java.lang.String%29