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

如何在安卓模拟器上运行自行编译的AOSP 12L arm64 system.img镜像

自定义AOSP arm64镜像模拟器运行方案

此前启动失败的核心原因

  • 你编译生成的system.img、boot-5.4.img、ramdisk.img、vbmeta.img是面向索尼Xperia 10 III实体设备的专属构建产物,绑定了该设备的专有硬件驱动、设备树配置、分区挂载规则、AVB校验逻辑,和官方Android Emulator、Anbox提供的通用虚拟硬件环境完全不兼容,直接替换官方镜像的system分区会触发驱动加载异常、签名校验失败,直接导致模拟器进程终止。

可行方案

方案1:编译适配官方模拟器的AOSP目标(稳定性最高、调试体验最好)

这是官方支持的自定义镜像测试方案,不需要更换现有工具链,适合测试无硬件依赖的系统修改(比如Framework逻辑调整、系统应用改动、通用权限/服务配置改动):

  • 操作步骤:
    1. 进入已同步完成的AOSP源码根目录,执行环境初始化命令:source build/envsetup.sh
    2. 选择arm64架构的模拟器编译目标:lunch aosp_arm64-eng(如需贴近正式版运行环境可选择aosp_arm64-userdebug)
    3. 执行编译,完成后直接在源码终端运行emulator命令,会自动加载本地编译的全套自定义镜像,不需要手动替换img文件
  • 优势:启动速度快,完美适配Android Studio的断点调试、日志抓取、性能分析工具,系统运行流畅度最高。

方案2:基于原生QEMU启动设备专属镜像(可测试索尼定制版镜像基础启动逻辑)

如果你需要测试针对Xperia 10 III编译的那套专属镜像,可以用原生QEMU配置匹配的虚拟硬件参数启动:

  • 前置准备:从你编译生成的boot-5.4.img中提取对应内核镜像、设备树blob文件
  • 核心配置要点:
    1. 虚拟硬件配置选择arm64架构,分配内存不小于4G,按分区顺序挂载你编译生成的system、ramdisk、vbmeta镜像
    2. 启动参数添加androidboot.verifiedbootstate=orange,关闭AVB校验,避免自定义签名镜像触发校验拦截
    3. 启动参数添加selinux=0 enforcing=0,临时关闭SELinux强制模式,避免实体设备专属SELinux规则在虚拟硬件下触发权限拒绝导致卡启动
  • 限制:QEMU无法模拟Xperia 10 III的专有硬件(相机、基带、触控IC、传感器等),所有依赖专有硬件的功能都会运行异常,仅能验证系统基础启动流程、无硬件依赖的系统逻辑是否正常。

方案3:使用封装好的第三方安卓虚拟化工具

如果不想手动配置QEMU启动参数,可以选择支持自定义镜像导入的第三方安卓虚拟化工具,这类工具本质是预配置好的QEMU环境,支持直接选择本地img文件加载启动,操作门槛更低。

  • 限制:和原生QEMU方案一致,无法模拟实体手机专有硬件,仅能做基础启动验证。

注意:所有模拟器方案都不能完全替代实体机测试,尤其是你编译的是厂商专属定制AOSP镜像,涉及硬件抽象层、专有驱动、外设适配的功能,必须刷入Xperia 10 III实体设备才能完成完整验证,模拟器仅适合刷机前的前置基础校验。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:54:38