Android12编译x86模拟器报找不到userdata-qemu.img

qemu-system-x86_64: Could not open 'out/target/product/generic_x86_64/userdata-qemu.img': No such file or directory

选择编译aosp_x86-eng时没有生成模拟器,报

c 复制代码
qemu-system-x86_64: Could not open 'out/target/product/generic_x86_64/userdata-qemu.img': No such file or directory

这是因为编译"aosp_x86_64-eng"不会生成qemu所需镜像,需编译SDK版的。但在执行lunch时,只有car版的:

bash 复制代码
     64. sdk_car_arm-userdebug
     65. sdk_car_arm64-userdebug
     66. sdk_car_x86-userdebug
     67. sdk_car_x86_64-userdebug

需要自己添加phone版的选项,在build/make/target/product/AndroidProducts.mk中添加:

bash 复制代码
COMMON_LUNCH_CHOICES := \
    aosp_arm64-eng \
    aosp_arm-eng \
    aosp_x86_64-eng \
    aosp_x86-eng \
    sdk_x86_64-eng \
    sdk_phone_x86_64-eng \
    sdk_x86_64-userdebug \
    sdk_phone_x86_64-userdebug

再source build/envsetup.sh,再执行lunch就有了:

bash 复制代码
     64. sdk_car_arm-userdebug
     65. sdk_car_arm64-userdebug
     66. sdk_car_x86-userdebug
     67. sdk_car_x86_64-userdebug
     68. sdk_phone_x86_64-eng
     69. sdk_phone_x86_64-userdebug
     70. sdk_x86_64-eng
     71. sdk_x86_64-userdebug

选择70,编译完成,执行:

bash 复制代码
emulator

模拟器正常启动。

相关推荐
消失的旧时光-19438 天前
Android 系统层扫盲 09:AMS、ATMS、WMS、PMS 到底分别管什么?
android·wms·pms·ams·aosp·atms
千里马-horse9 天前
附录 C:AOSP 不在公共框架 API 中采用 Kotlin 的原因
aosp
千里马-horse11 天前
65 定制 Android ROM
aosp
千里马-horse11 天前
第 66 章:在 Android 上运行 Windows 游戏
android·aosp
千里马学框架13 天前
安卓系统性能优化高级实战开发专题--开机,app冷启动优化
android·智能手机·性能优化·framework·性能·开机优化·app冷启动优化
消失的旧时光-194313 天前
Android 系统层扫盲 05:Android 开机后发生了什么?从 Bootloader 到 Launcher
android·zygote·fork·aosp·cow
千里马-horse14 天前
第 61 章:设备策略与 Android 企业版
android·aosp
千里马-horse14 天前
第 60 章 模拟器架构
架构·aosp
千里马-horse16 天前
第 55 章:OTA 更新
aosp
消失的旧时光-194317 天前
Android 系统层扫盲 03:第一次看 AOSP 源码目录,frameworks、system、packages、hardware 都是干什么的?
aosp