欢迎访问AOSP中文官网
本文只简单介绍如何设置本地工作环境来编译 Android 源文件。您必须使用 Linux 或 Mac OS。目前不支持在 Windows 环境下进行编译。详细步骤请参照官方搭建编译环境。
1. 64位Linux PC 或者虚拟机,至少需要 150GB 可用磁盘空间 (官方建议使用Ubuntu 14.04,不过用高版本也没问题)
2. 安装JDK(请参阅 JDK 要求)
3. 主要软件包
本文以编译Android 5.1 为例,使用Ubuntu 16.04、OpenJdk 7 。
Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下:
sudo add-apt-repository ppa:openjdk-r/ppa
Ubuntu14.04安装openjdk8也要注意该问题。
sudo apt-get install openjdk-7-jre
sudo apt-get install openjdk-7-jdk
su -c "yum install java-1.7.0-openjdk"
需要安装不同版本对数字进行更改即可,详情请参照 OpenJDK。
安装完成后,用gedit文本编辑器在/etc/profile中添加环境变量:
sudo gedit /etc/profile
在打开的/etc/profile文件末尾添加下面几行:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
这里注意用英文状态下的冒号分隔,不是和Win一样用分号分隔。
执行以下命令让修改生效:
source /etc/profile
最后输入 java -version 测试jdk是否配置好了。
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip
Android 源代码树位于由 Google 托管的 Git 代码库中。由于国内特殊原因我改用了清华源。按照Google官方教程,首先需要安装Repo。Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。要详细了解 Repo,请参阅 Repo 命令参考资料。
安装Repo工具:
这里使用的是tuna的git-repo镜像,使用谷歌源会提示无法连接到 gerrit.googlesource.com。
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
执行完上面操作后bin下会有一个repo的文件
接下来我们打开 ~/.bashrc
sudo gedit ~/.bashrc
然后在 ~/.bashrc 的最后添加
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
然后再重启终端模拟器。
初始化Repo:
配置 Git(配置好了可略过)
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
建立工作目录
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
初始化仓库
运行 repo init
以获取最新版本的 Repo 及其最近的所有错误更正内容。您必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
要检出“master”以外的分支,请使用 -b
指定相应分支。要查看分支列表,请参阅源代码标记和编译版本。比如我要下载的android-5.1.1_r3。
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.1_r3
最后同步源码树
repo sync
接下来就是漫长的下载等待过程了,如果你之前已经通过某种途径获得了 AOSP 的源码,你以后想通过清华源同步AOSP可以参考清华源,如果过程中出现了问题可以去看看官方教程。