一、Android源码
1、先系统的看一下Google AOSP官网,Android source,在文档里查看开发环境搭建。这个由于国内网络原因,所以需要科学上网。
二、mac环境搭建
我的是macOS,所以按照mac的说明搭建环境。这里说明一下,2021年Google已经停止支持Mac开发aosp,所以只能编译Android10以前的版本。
- 安装xcode。 直接在app store下载
- 安装GNU make。我的是brewhome方式安装的
brew install gmake libsdl git gnupg2
- 安装jdk。oracle官网下载jdk
4.安装Python 。 下载Python
三、 Linux搭建构建环境
设置 Linux 构建环境
以下说明适用于所有分支(包括 master)。
我们会定期在 Ubuntu LTS (14.04) 和 Debian 测试版本中对 Android 构建系统进行内部测试。其他大多数分发版本都应该具有所需的构建工具。
如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。
注意:如需查看完整的硬件和软件要求列表,请参阅要求。然后,请按照下方适用于 Ubuntu 和 macOS 的详细说明进行操作。
安装所需的软件包 (Ubuntu 18.04)
您需要 64 位版本的 Ubuntu。
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
安装所需的软件包 (Ubuntu 14.04)
您需要 64 位版本的 Ubuntu(建议使用 Ubuntu 14.04)。
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip
注意:如果您使用的是 LDAP 并且希望运行 ART 主机测试,还需要安装 libnss-sss:i386 软件包。
安装所需的软件包 (Ubuntu 12.04)
您可以使用 Ubuntu 12.04 来构建较低版本的 Android。master 或最近推出的一些版本不支持 Ubuntu 12.04。
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
安装所需的软件包 (Ubuntu 10.04-11.10)
不再支持在 Ubuntu 10.04-11.10 中进行构建,但它们仍可用来构建较低版本的 AOSP。
sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
在 Ubuntu 10.10 中,请运行以下命令:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
在 Ubuntu 11.10 中,请运行以下命令:
sudo apt-get install libx11-dev:i386
源代码控制工具
需要使用 Git和 Repo,由于Android源码每一个模块是一个git仓库,有很多git仓库,所以需要repo工具,repo是一个Git管理工具,可以同时控制多个Git,所以下载源码方便很多。
安装Git
安装Git
sudo apt install git
配置Git用户名和邮箱,这里用户名和邮箱可以随意写,但必须配置
git config –global user.name “git的用户名”
git config –global user.email “git的邮箱”
安装 Repo
请按以下步骤安装 Repo。
-
运行以下命令以使用您的 Linux 发行版中的官方软件包:这种方式容易失败
sudo apt-get update sudo apt-get install repo推荐使用手动安装,请使用以下命令手动安装 Repo:(由于有强,直接复制最下面中科大的镜像源)
export REPO=$(mktemp /tmp/repo.XXXXXXXXX) curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65 curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo -
运行以下命令:
-
repo version -
您会看到一个与下方内容相似的报告:
-
<repo not installed> repo launcher version 2.15 (from /usr/bin/repo) -
- 如果报告的
repo launcher version编号为 2.15 或更高,则表明版本号正确,安装无误。 (from /usr/bin/repo)表明是通过软件包进行安装的。(from /home/<>/bin/repo)表明是手动安装的。
- 如果报告的
配置镜像源
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'