我已经构建了android源代码并成功运行了模拟器,除了一件事 - 无法安装SD卡 . 这是我试图安装它的方式 . 1.通过mksdcard工具在/ out / host / linux-x86 / bin / mksdcard下创建一个sdcard.img 256M out / target / product / generic / sdcard.img
-
sdcard.img是rw
-
使用命令行运行模拟器:out / host / linux-x86 / bin / emulator -sysdir out / target / product / generic / -system out / target / product / generic / system.img -ramdisk out / target / product / generic /ramdisk.img -data out / target / product / generic / userdata.img -kernel prebuilt / android-arm / kernel / kernel-qemu -skindir sdk / emulator / skins -skin WVGA800 -scale 0.7 -memory 512 -partition-size 2024 -sdcard out/target/product/generic/sdcard.img /system/etc/vold.conf下的文件没问题 . 系统日志显示:<6> mmc0:地址e118处的新SD卡<6> mmcblk0:mmc0:e118 SU02G 256 MiB <6> mmcblk0:
但事实是,它无法安装SD卡 . 如果尝试在/ mnt / sdcard /中写入数据,它将出现“只读”错误
有人可以帮忙吗?提前致谢 .
2 回答
首先,通过设置正确的环境变量,仿真器应该在没有任何参数的情况下工作,如here所述 .
创建SD卡图像文件sdcard.img(在linux上,使用dd / dev / zero使空文件由零填充就足够了)
在其上创建FAT或ext4文件系统(在linux上,mkdosfs path / to / sdcard.img)应该可以跳过此步骤并在模拟器中对其进行格式化 .
然后跑
模拟器-sdcard路径/到/ sdcard.img
在我的情况下,它在设置中显示为“USB存储”,而不是“SD卡” .
请按照以下步骤操作:
转到Android虚拟设备管理器
单击“新建”以创建新的Vitual设备
添加名称并选择您的包裹
在硬件下,只需单击“新建按钮”,然后弹出新窗口
在Property附近的下拉列表中选择SdCard支持后
最后你已经获得了SDCard支持的模拟器