使用 Android-Emulator,我无法在 SD 卡上写入/创建文件(用于记录)。
这是我到目前为止所做的
- 运行 mksdcard 8192K C:\android-dev\emu_sdcard\emu_logFile
- 创建一个新的 AVD,将 emu_logFile 分配给它,这样当我查看 AVD 详细信息时,它会显示 C:\android-dev\ emu_sdcard\emu_logFile 针对“SD卡”字段
- 这是相关代码
public class ZLogger {
static PrintWriter zLogWriter = null;
private static void Initialize() {
try {
File sdDir = Environment.getExternalStorageDirectory();
if (sdDir.canWrite()) {
:
File logFile = new File (sdDir, VERSION.RELEASE + "_" + ".log");
FileWriter logFileWriter = new FileWriter(logFile);
zLogWriter = new PrintWriter(logFileWriter);
zLogWriter.write("\n\n - " + date + " - \n");
}
} catch (IOException e) {
Log.e("ZLogger", "Count not write to file: " + e.getMessage());
}
}
sdDir.canWrite返回 false - 请注意不是例外
从 adb shell 执行 ls 时,我将 sdcard 视为 /mnt/sdcard 的链接。当我这样做时 ls -l /mnt 这是我看到的
ls -l /mnt
ls -l /mnt
drwxr-xr-x 根系统 2010-12-24 03:41 asc
drwx------ 根根 2010-12-24 03:41 安全
d--------- 系统系统 2010-12-24 03:41 sdcard
而如果我转到创建 emu_sdcard 的目录 - 我看到已发出锁,如此处所示
C:>dir android-dev\emu_sdcard
驱动器 C 中的卷是预加载
卷序列号是 A4F3-6C29
C:\android-dev\emu_sdcard 目录
2010 年 12 月 24 日上午 03:41。
12/24/2010 03:41 AM ..
12/24/2010 03:17 AM 8,388,608 emu_logFile
12/24/2010 03:41 AM emu_logFile.lock
1 File(s) 8,388,608 bytes
3 Dir(s) 50,347,704,320 bytes free
我已经查看了这些和其他 SO 问题
Android Emulator sdcard push error: Read-only file system (2)
Not able to view SDCard folder in the FileExplorer of Android Eclipse
我已将以下内容添加到 AndroidManifest.xml
**uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" **
请让我知道您的想法-我在这里缺少什么?为什么canWrite返回 false?我应该怎么做才能将权限添加到 sdcard?