C
构建 AOSP 系统映像
Android 是专为各种各样、形式不同的设备创建的开源软件栈。Android 的主要目的是创建一个可供运营商、OEM 和开发者将其创新想法变为现实的开源软件平台,并推出一种成功、实用的产品,以改善用户的移动体验。
要求
您的开发工作站应满足或超出以下硬件要求
- 需要 64 位环境。
- 至少 250GB 的空闲磁盘空间以检出代码,以及额外的 150GB 以构建它。如果您进行多次构建,则需要更多的空间。
- 如果您正在检出镜像,则需要更多的空间(超过 500GB),因为完整的 Android 开放源代码项目(AOSP)镜像包含所有曾经使用过的 Git 存储库。
- 如果您正在运行 Linux,则需要至少 16 GB 的可用 RAM/交换空间。
- Ubuntu 18.04 (Bionic Beaver)或安装了 Xcode 和命令行工具的最新版的 macOS。
- Python 2.7 或更高版本。
- 对于 Linux,请安装以下链接中列出的软件包:设置 Linux 构建环境。
- 对于 macOS,请安装以下链接中列出的软件包:设置 macOS 构建环境。
有关更多信息,请参阅 Google 的 构建要求 文档。
下载和构建 AOSP
使用 Android 代码需要安装 Git
和 Repo 工具。从 Google 代码源下载并安装 Repo 工具。
初始化 Repo 客户端
安装 Repo 启动程序后,设置您的客户端以访问 Android 源代码仓库
- 创建一个空目录以存放您的工作文件。如果您正在使用 macOS,这必须在区分大小写的文件系统上。给它起任何名字都可以
mkdir <working_dir> cd <working_dir>
- 使用您的真实姓名和电子邮件地址配置 Git。要使用 Gerrit 代码审查工具,您需要一个与已注册的谷歌账户相关联的电子邮件地址。确保这是一个您可以接收消息的有效地址。您在这里提供的姓名将显示在您的代码提交的贡献中。
git config --global user.name "Your Name" git config --global user.email "[email protected]"
有关更多信息,请参阅 设置 Gerrit。
- 运行 repo init 以获取带有最新 bug 修复的最新版本的 Repo。您必须指定一个用于清单的 URL,该清单指定了 Android 源代码中包含的各种存储库在您的工作目录下的位置。
repo init -u https://android.googlesource.com/platform/manifest
- 要检出 Android Automotive 10 分支
repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r45
- 要检查除主分支之外的分支,请使用
-b
指定。有关分支列表,请参阅源代码标签和构建。
初始化成功后,会显示一条消息,说明Repo已在工作目录中初始化。您的客户端目录应该现在包含一个repo
目录,该目录存储如manifest等文件。
下载源代码
要从指定在默认manifest中的存储库的工作目录下载Android源代码树,请运行
repo sync
构建AOSP
- 使用
envsetup.sh
脚本来初始化环境source build/envsetup.sh
- 选择要构建的目标,例如
lunch aosp_car_x86_64-userdebug
- 使用
m
构建所有内容,它可以处理带-jN
参数的并行任务。如果您不提供-j
参数,构建系统将自动选择它认为对您的系统最优化并行任务数量。 - 构建成功后,运行以下命令打开模拟器
emulator
构建系统映像
Android模拟器允许您在主机上以Android设备的形式运行Android系统映像,并且大多数功能都可以使用。您还可以共享构建的Android系统映像,以便其他人也可以运行它们。
- 创建附加的
sdk
和sdk_repo
包$ make -j$(nproc) sdk sdk_repo
- 这将在
<working_dir>/out/host/linux-x86/sdk/sdk_car_x86_64
下创建系统映像文件sdk-repo-linux-system-images-eng.[username].zip
- 遵循启动Android模拟器下的说明,使用AVD Manager正确设置系统映像。
在特定的Qt许可证下提供。
了解更多信息。