我正在尝试在模拟器上运行新构建的Android图像(使用Google源代码从当前post-image
构建的通用aosp_x86-eng
目标)。仿真器似乎工作正常,但在使用master
选项运行时不会挂载外部SD卡。模拟器版本是来自git的版本。一切都在无头服务器上执行。
我的完整步骤列表:
-sdcard
虚拟设备似乎已正确转发,如repo init -u https://android.googlesource.com/platform/manifest
repo sync
. build/envsetup.sh
lunch aosp_x86-eng
make -j16
mksdcard 1G sd.img
emulator -no-window -no-skin -no-audio -sdcard sd.img &
adb shell mount | grep vfat
的输出所示:
adb shell blkid
但是,它不是由/dev/block/vda1: LABEL="system" UUID="da594c53-9beb-f85c-85c5-cedf76546f7a" TYPE="ext4"
/dev/block/vdb: LABEL="cache" UUID="f73de97f-7017-ca5e-9b47-ca9c8f633e83" TYPE="ext4"
/dev/block/vde1: LABEL="vendor" UUID="6d16bab1-58d9-3c5d-8f14-f608f924affd" TYPE="ext4"
/dev/block/vdf: LABEL="SDCARD" UUID="1CEA-0B06" TYPE="vfat"
安装的。可能是什么问题?
当我使用通过SDK管理器下载的Android 8图像运行模拟器时,我也得到相同的结果。使用Android 7,SD卡可以正常工作。
修改
解决了aosp_x86-eng build附带的模拟器问题(参见我自己的回答)。在Android SDK的模拟器上,原因可能不同。
答案 0 :(得分:1)
事实证明,在我的情况下,无头模式是罪魁祸首。当我使用-no-skin -no-window
选项运行模拟器时,未安装SD卡。如果我删除这些选项(并启用X11转发,因为我在无头服务器上工作),一切正常。
我仍然想知道为什么我无法在无头模式下使用SD卡,但至少我能够解决所需任务的问题。