urlname
type
Post
password
SyncToConfluence
category
Android
date
Jun 23, 2025
slug
2fbd24a0-07bc-460e-8981-6123a2ed18fc
icon
Button
catalog
summary
tags
AOSP
Android
cover
Status
BusyTime
Status 1
status
Published
前言
在 AOSP-源码下载编译 中,已经介绍了如何下载并编译AOSP的源码,所以,本文只要记录如何将编译完成后的产物,运行到虚拟机中
准备环境
虚拟机的运行,需要依赖以下环境
- Android SDK
- cmdline-tools
Android SDK
这里介绍在ubuntu下快速配置环境的方案:
- JetBrains下载Toolbox
- Toolbox中下载Android studio
- 运行Android studio,此时如果没有Android SDK环境,Android studio会自动引导下载
- 下载路径:/Android/Sdk
Cmdline-tools
- 在上面下载好的Android Studio中,依次点击Settings → Languages & Frameworks → Android SDK → SDK Tools → 勾选Android SDK Command-line Tools → apply
- 此时会自动下载对应的 Cmdline-tools
- 下载路径:/Android/Sdk/cmdline-tools/
这里用到Cmdline-tools,主要是虚拟机emulator的执行,需要依赖avdmanager和sdkmanager,两者包含在Cmdline-tools中
执行步骤
在 AOSP-源码下载编译 操作的基础上,要将AOSP编译产物运行到虚拟机上,还需要以下步骤
确认产物
编译完成后会输出对应的img产物,路径为:
- 目录下重要的编译产物说明:
文件/目录名 | 说明 |
system.img | 系统分区镜像(包含 framework、系统 app 等) |
ramdisk.img | ramdisk 镜像(内核初始化后加载的 init 脚本) |
userdata.img | 数据分区镜像(模拟 /data 分区) |
boot.img | 启动镜像(内核 + ramdisk) |
vendor.img | Vendor 分区(如果有的话) |
kernel-ranchu | Ranchu 模拟器用的内核(x86_64 模拟器专用) |
system 目录 | 编译输出的 system 分区根目录(未打包成镜像时可读写) |
root 目录 | rootfs 根文件系统内容(ramdisk 展开内容) |
obj | 中间产物(.o 文件等) |
symbols | 带调试符号的可执行文件,可用于 gdb 调试 |
创建虚拟机
这里还是使用Android studio的虚拟机管理器(AVDManager)进行创建,不过需要注意的是,创建虚拟机的时候,需要记住选择的API,Services,如这里的API 33和Google APIs

替换镜像产物
由于通过Android Studio的AVDManager创建的虚拟机,都是用的默认的Android镜像。所以,需要在运行之前,将我们的产物img文件,替换掉原先的img镜像
这里展示通过脚本替换产物
- 将上面的脚本保存到sh文件,如:run_aosp_amulator.sh
- 设置执行权限:
chmod +x run_aosp_amulator.sh
- 执行脚本启动虚拟机:
./run_aosp_amulator.sh
- Author:CoderWdd
- URL:https://www.wuinsights.top//article/2fbd24a0-07bc-460e-8981-6123a2ed18fc
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts