Android 12 aosp android-12.0.0_r2版本编译后模拟器无法运行问题求助
问题根因
你选择的编译目标是x86_64架构的aosp_x86_64-eng,但模拟器启动时默认读取了arm64架构的generic_arm64产物路径,因此出现镜像文件不存在的报错。跨Android大版本、跨架构混用镜像文件会出现分区结构、驱动逻辑不兼容的问题,自然会导致启动卡死。
解决步骤
- 第一步:确认编译产物完整性
编译完成后检查out/target/product/aosp_x86_64/目录下是否存在userdata-qemu.img、system.img、ramdisk.img等核心镜像文件,确认全编译过程无报错中断。
如果缺少userdata-qemu.img,执行以下命令单独编译用户数据镜像:make userdataimage -j32 - 第二步:正确启动模拟器
不要直接执行emulator &,在同终端窗口执行以下命令,复用lunch设置的环境变量启动模拟器:
如果仍识别不到镜像,手动指定产物路径启动:source build/envsetup.sh lunch aosp_x86_64-eng emulator -writable-system &export ANDROID_PRODUCT_OUT=out/target/product/aosp_x86_64/ emulator -sysdir $ANDROID_PRODUCT_OUT -system system.img -ramdisk ramdisk.img -userdata userdata-qemu.img & - 第三步:可选优化配置
如果启动速度过慢,可以在启动命令中添加参数开启硬件加速:-accel on -gpu host。
内容的提问来源于stack exchange,提问作者Siddharth Kumar Agrawal
相关产品推荐
相关产品推荐

