如何将SD卡挂载到Android源代码构建的模拟器中?

3
我已经成功地构建了android的源代码并运行了模拟器,但是有一件事情——无法挂载SD卡。以下是我的尝试方法: 1. 在/out/host/linux-x86/bin/下使用mksdcard工具创建sdcard.img文件。 mksdcard 256M out/target/product/generic/sdcard.img
2. sdcard.img是可读可写的。
3. 使用以下命令行运行模拟器: 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: new SD card at address e118 <6>mmcblk0: mmc0:e118 SU02G 256 MiB <6> mmcblk0:
但事实上,它无法成功挂载SD卡。如果尝试在/mnt/sdcard/中写入数据,将会收到"只读"错误。
请问有谁可以帮忙解决此问题吗?先谢谢了。

你解决了这个问题吗?如果是,请发布相同的内容。 - user264953
2个回答

0

首先,模拟器应该在设置正确的环境变量后无需任何参数即可工作,具体请参见这里

创建sd卡镜像文件sdcard.img(在Linux上,使用dd /dev/zero创建空文件并填充为零即可)

在其中创建FAT或ext4文件系统(在Linux上,使用mkdosfs path/to/sdcard.img),也可以跳过此步骤并从模拟器中格式化它。

然后运行

emulator -sdcard path/to/sdcard.img

在我的情况下,在设置中显示为“usb存储”,而不是“sd卡”。


0

只需按照以下步骤:

  1. 进入Android虚拟设备管理器
  2. 点击“新建”以创建新的虚拟设备
  3. 添加名称并选择您的软件包
  4. 在硬件下,您只需点击“新建”按钮,然后弹出新窗口
  5. 在属性附近的下拉列表中选择SdCard支持
  6. 最终您将获得带有SD卡支持的模拟器

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接