Mac下载编译Android AOSP

227 阅读2分钟

首先是下载Android AOSP源码,下载AOSP需要用到Repo,Repo 是 AOSP 用于管理多 Git 仓库的工具,安装可以使用MacPorts安装和源码安装。使用MacPorts安装命令:

 sudo port install repo

手动安装涉及的命令:

# 创建 Repo 目录并加入环境变量
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc  # 或 ~/.bashrc(根据终端类型)
source ~/.zshrc

# 下载 Repo 脚本(官方源,需科学上网)
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

# 国内用户可选清华镜像(无需科学上网)
# curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo

# 赋予执行权限
chmod a+x ~/bin/repo

然后,创建源码目录并初始化 Repo:

mkdir aosp_source && cd aosp_source

初始化 Repo 仓库(选择镜像):官方源(需科学上网,推荐稳定版本)

# 语法:repo init -u 仓库地址 -b 分支名
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r1  # Android 14 稳定版

清华镜像(国内推荐,速度快):

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r1

image.png 分支说明:android-XX.X.X_rX 为稳定版,可在 AOSP 版本列表查看最新分支:source.android.com/docs/setup/…

接下来,就是同步源码(耗时较长,估计5-10个小时,视网络情况而定)。

repo sync -j8  # -j8 表示 8 线程同步,根据 CPU 核心数调整(如 16 核用 -j16)

image.png 同步完成后,源码目录应包含 build、frameworks、packages 等核心文件夹。

ls -l | grep "build"  # 显示 build 目录即成功

image.png 接下来就是编译AOSP,首先源码分支的Build id,从驱动程序页面下载需要调试的设备的驱动:developers.google.cn/android/dri…

image.png

将下载的文件解压后,将其中的文件复制到源码根目录,执行,阅读完协议,并同意后,会安装驱动。

./extract-google_devices-panther.sh

安装必要的工具:(由于是在arm架构上,所以不能使用libc6-dev-i386, 需要改为libc6-dev):

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

然后使用下面命令开始编译,不过最好是使用ubuntu系统进行编译,会少很多的报错:

source build/envsetup.sh
lunch

参考:shumxin.github.io/2024/04/05/…