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

模拟器正常启动。

相关推荐
Together_CZ7 天前
LLM-as-a-Verifier: A General-Purpose Verification Framework——一种通用验证框架
llm·framework·agent·verification·verifier·一种通用验证框架·llm-as-a-
AFinalStone13 天前
Android7 多用户源码解析(五)应用安装与管理隔离机制
系统架构·aosp·多用户
AFinalStone13 天前
Android7 多用户源码解析(二)核心数据结构深度剖析
系统架构·aosp·多用户
AFinalStone14 天前
Android7 多用户源码解析(六)数据隔离与存储机制详解
系统架构·aosp·多用户
AFinalStone14 天前
Android7 多用户源码解析(一)功能演进与系统架构总览
系统架构·aosp·多用户·usermanaher
EatFan14 天前
JunoYi 框架实践:Spring Boot 项目为什么拆成 framework、module、server 三层?
java·spring boot·后端·framework·module·模块化·junoyi
AFinalStone14 天前
Android7 多用户源码解析(十)Work Profile 企业模式与开发实战指南
系统架构·aosp·多用户
AFinalStone14 天前
Android7 多用户源码解析(九)权限系统与多用户的交互机制
系统架构·aosp·多用户
千里马学框架21 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
消失的旧时光-19431 个月前
Android 系统层扫盲 09:AMS、ATMS、WMS、PMS 到底分别管什么?
android·wms·pms·ams·aosp·atms