Android Read-only file system 错误 /sdcard问题

http://longshuai2007.blog.163.com/blog/static/142094414201162793949787/

adbshell后:mount-oremountrw(空格)/

到tools文件夹运行:adbmount-oremountrw(空格)/

在程序中访问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-lsdcard100Msdcard.img//这样会在Tools的目录下产生sdcard在pc中的镜像文件。

模拟器启动的时候加载sdcard

emulator-sdcardsdcard.img-avdmyavd2(myavd2是模拟器名字,假如存在AVD403.ini,那应该是:emulator-sdcardsdcard.img-avdAVD403)

这样后模拟器就可以看到自己的sdcard,通过adbshell可以登录查看。

2:遍历sdcard

如何找到android中的些特殊路径呢,像sdcard这种特殊路径,其实只要看

android.os.Environment 这个类便很清晰了,其中有如下的方法:
getRootDirectory();
getDownloadCacheDirectory();
getExternalStorageDirectory();
getExternalStorageState(); 可以得到当前的sdcard 的各个状态。

有了文件的路径,就可以再用File进行各种遍历等操作了。

相关推荐