编译环境
Mac OS: Montery 12.1
JDK: 1.8.0_281
AOSP: android-8.1.0_r1
Python: 2.7.18
安装需要的软件
Homebrew
安装 Homebrerw 主要是为了安装Git,如果有Git 忽略此操作。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装 Git
# 使用 homebrew 安装 git
brew install git
# 配置 git
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
检查 Python 环境
Mac Montery 自带的 Python 环境刚好就可以了。
# 检查 python 版本
python --version
输入如下:
Python 2.7.18
安装 JDK
Oracle 官网下载 JDK8 需要注册后才能下载,聪明的我早已为大家准备好了, 点击下载 JDK8,安装完成以后用以下命令验证:
java -version
输入如下:
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
至此所有的环境已经准备完成,拿起手中的乌木剑冲吧!
Repo
Aosp 源码是通过 Git 来管理的,但是由于源代码量过于庞大, 使用 Git 已经无法满足需求,所以 Google 在 Git 的基础上面用 Python 创造了一款新的轮子 Repo。废话少说,开干。
首先,创建 repo 工具存放的文件夹,你可以按照我这样,也可以自定义。
# 创建存放 repo 工具的文件夹
mkdir ~/Development/bin
下载 repo, 并且修改执行权限
# 下载 repo 到我们上一部创建的文件夹中
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/Development/bin/repo
# 修改执行权限
chmod a+x ~/Development/bin/repo
最后,讲 repo 工具添加到环境变量中。如果不会使用 vim 可以使用 open ~/.bash_profile 打开后直接在文件中操作。
# 编辑 bash_profile
vim ~/.bash_profile
# 然后按 i 键进入编辑模式 拷贝下面一行代码,如果建立的 repo 存放路径和我不一样这里要注意修改
export PATH=~/Development/bin:$PATH
# 按 ESC, 在输入 :wq 保存并退出
使用 source 命令使我们刚才设置的环境变量生效。
source ~/.zshrc
这里值得注意,新系统都是使用的 .zshrc ,我是在 .zshrc 中添加了 source ~/.bash_profile 这一句话。*
使用 Repo 下载源代码
创建源代码存放的文件夹,我是把源代码存放在一块新的硬盘中。
cd /Volumns/Android
mkdir Aosp
cd aosp
初始化源码仓库和版本
由于代码量大,使用 google 的仓库需要使用代理下载,本指南使用清华的镜像源。感谢清华镜像。
# 设置默认仓库
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
# 指定 aosp 源码版本, 我编译的 android-8.1.0_r1
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-8.1.0_r1
设置完成后就可以克隆源码了
repo sync
这一步可能需要花费不少时间。
编译源码
好了,走到这一步,估计大家手中的乌木剑早已饥渴难耐了。GO!
!!!, Mac Montery 下编译已经放弃,有问题!谷歌最新官方已经不支持在 Mac 下面编译 AOSP, 也许在低版本 Mac 能编译,不过我转 Ubuntu 了。