天天看点

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

adb shell 后: mount -o remount rw(空格)/ 

到tools文件夹运行:adb  mount -o remount rw(空格)/ 

在程序中访问SDCard,你需要申请访问SDCard的权限。 

在AndroidManifest.xml中加入访问SDCard的权限如下: 

Android Read-only file system 错误 /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(myavd2是模拟器名字,假如存在AVD403.ini,那应该是:emulator -sdcard sdcard.img -avd AVD403) 

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

2:遍历sdcard 

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

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

android.os.Environment 这个类便很清晰了,其中有如下的方法:  

getRootDirectory();  

getDownloadCacheDirectory();  

getExternalStorageDirectory();  

getExternalStorageState(); 可以得到当前的sdcard 的各个状态。  

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

继续阅读