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