我的 android 应用程序无法将文件写入 AVD 的 SD 卡,代码如下:
File root = Environment.getExternalStorageDirectory();
Log.w("sdcard", "root.canWrite() = " + root.canWrite());
try {
File myFile = new File(root + File.pathSeparator + "mysdfile.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append("testing testing 123");
myOutWriter.close();
fOut.close();
} catch (IOException e) {
Log.w("ExternalStorage", "Error writing", e);
}
root.canWrite()
返回 true,则引发此异常:
java.io.IOException: open failed: EROFS (Read-only file system)
清单文件具有 WRITE_EXTERNAL_STORAGE 权限(清单的直接子级):
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我还尝试使用以下方法在 AVD shell 中重新安装 SD 卡:
mount -o remount rw /mnt/sdcard
……但无济于事。AVD 还设置了“SD 卡支持”标志。不知道从这里做什么,有什么想法吗?