You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 11模拟器运行报错PCI bus not available for hda如何解决

错误产生原因

该错误的核心触发原因是:你编译选择的是aarch64(ARM64)架构的Android 11镜像,而当前x86_64宿主设备上的QEMU默认会尝试将系统镜像挂载到PCI总线对应的hda设备上,但aarch64架构的虚拟平台默认不存在PCI总线,设备匹配失败就会抛出该报错。

可行修复方案
  • 方案1:启动时添加指定存储设备的参数
    执行以下命令启动模拟器,手动指定aarch64平台支持的virtio块设备挂载系统镜像:
    emulator -drive file=$OUT/system.img,if=none,id=system -device virtio-blk-device,drive=system
    
    如果你需要同时挂载其他分区,可以参照上述格式添加userdata、vendor分区的挂载参数。
  • 方案2:切换为x86_64架构的编译目标
    如果你是在x86_64架构的Linux设备上运行模拟器,优先选择x86_64架构的编译目标,不仅能避免该适配问题,模拟器运行性能也会远高于ARM转译的效果。操作步骤为重新执行source build/envsetup.sh,选择aosp_x86_64-eng或sdk_phone_x86_64-userdebug这类x86_64目标重新编译,编译完成后直接执行emulator即可正常启动。
  • 方案3:回退模拟器版本
    30.9.0版本的模拟器对ARM架构镜像的存储挂载逻辑存在已知适配缺陷,你可以将prebuilds目录下的android_emulator替换为30.8.4及更早的版本,替换完成后直接启动模拟器即可。
  • 方案4:临时禁用硬件加速验证
    如果你仅需要临时验证编译出来的镜像是否可用,可以执行带禁用加速参数的启动命令:
    emulator -no-accel -gpu off
    
    该方案会导致模拟器运行卡顿,仅适合临时验证使用。

内容的提问来源于stack exchange,提问作者Ivanivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:36:03