Android sdcard之read-only

AndroidManifest.xml是否加入了SDCard的权限设置

<!-- 创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<!-- 写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

android sdcard read-only file system 的解决办法:

另外还要检查你的AVD虚拟机里是否添加了 sd card Support 这项!

=============

【解决方法】 

在cmd窗口一条命令就可以了: 
adb shell 
mount -o remount rw / 
【其它】 
如何一起动就让sdcard有读写权限呢? 

-------------------------------其它问题----------------------------- 
在程序中访问SDCard,你需要申请访问SDCard的权限。 
在AndroidManifest.xml中加入访问SDCard的权限如下: 
<!-- 在SDCard中创建与删除文件权限 --> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 
<!-- 往SDCard写入数据权限 --> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
-------------------------------更多关于sdcard问题------------------------- 
为什么需要sdcard 
在android 中网页中图片的下载都会自动向sdcard 寻找空间,sdcard在开发测试中也是非常之必要。 
1:如何在模拟器中加载 sdcard 
通过文档中介绍可得如下示例: 
mksdcard -l sdcard 100M sdcard.img // 这样会在Tools的目录下产生 sdcard 在pc 中的镜像文件。 

模拟器启动的时候加载sdcard 
emulator -sdcard sdcard.img -avd myavd2 
这样后模拟器就可以看到自己的sdcard,通过adb shell 可以登录查看。 

2:遍历sdcard 
如何找到android 中的些特殊路径呢,像sdcard这种特殊路径,其实只要看 
android.os.Environment 这个类便很清晰了,其中有如下的方法: 
getRootDirectory(); 
getDownloadCacheDirectory(); 
getExternalStorageDirectory(); 
getExternalStorageState(); 可以得到当前的sdcard 的各个状态。 
有了文件的路径,就可以再用File进行各种遍历等操作了。

原文地址:https://www.cnblogs.com/zhujiabin/p/4193694.html