参考链接:https://source.android.com/source/initializing
搭建编译环境本部分介绍了如何设置本地工作环境来编译 Android 源文件。您需要使用 Linux 或 Mac OS。目前不支持在 Windows 环境下进行编译。 要简要了解整个代码审核和代码更新流程,请参阅[color=var(--devsite-link-color)] 补丁程序的生命周期。 [color=var(--devsite-note-notice-color)]注意:本网站中所有命令的前面都带有美元符号 ($),以便与文件中的输出或条目区分开来。您可以使用每个命令框右上角的“点击复制”功能来复制所有行(不包括美元符号),也可以三击每个行来分别复制各行(不包括美元符号)。 选择分支针对编译环境的某些要求是由您打算编译的源代码的版本决定的。要查看您可以选择的分支的完整列表,请参阅[color=var(--devsite-link-color)] 版本号。您还可以选择下载并编译最新的源代码(称为 master)。如果您选择这么做,请在初始化存储库时直接忽略分支规范。 选择分支后,请按照下面的相应说明来设置编译环境。 设置 Linux 编译环境以下说明适用于所有分支(包括 master)。 我们会定期在最近推出的一些 Ubuntu LTS (14.04) 版本中对 Android 编译过程进行内部测试,但大多数 Ubuntu 分发版本都应该有所需的编译工具。欢迎向我们报告在其他分发版本中的测试结果(无论结果是成功还是失败)。 如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。 [color=var(--devsite-note-notice-color)] 注意:要查看完整的硬件和软件要求列表,请参阅[color=var(--devsite-note-notice-color)]要求。然后,请按照下方适用于 Ubuntu 和 Mac OS 的详细说明进行操作。 安装 JDK[color=var(--devsite-link-color)] Android 开放源代码项目 (AOSP) 中 Android 的 master 分支在 platform/prebuilts/jdk/jdk8 中有预编译版本的 OpenJDK。因此,无需再额外安装。 较低版本的 Android 需要另行安装 JDK。在 Ubuntu 上,请使用 [color=var(--devsite-link-color)] OpenJDK。要了解确切版本,请参阅 [color=var(--devsite-link-color)] JDK 要求;要了解相关说明,请参阅以下各个部分。 = 15.04" role="presentation" style="box-sizing: inherit; margin-top: 32px; margin-right: -40px; margin-bottom: 16px; font: var(--devsite-h4-font); overflow: hidden; text-overflow: ellipsis; padding-right: 40px;">如果 Ubuntu >= 15.04= 15.04" data-title="复制指向此部分的链接:如果 Ubuntu >= 15.04" data-id="for-ubuntu-15-04" style="appearance: none; background-image: initial; background-position: 0px center; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; border-width: 0px; border-style: initial; border-color: initial; border-radius: var(--devsite-button-border-radius,2px); box-shadow: none; cursor: pointer; font-size: 24px; font-family: "Material Icons"; height: 24px; line-height: 1; margin-right: -40px; max-width: var(--devsite-button-max-width,none); min-width: 36px; outline: 0px; overflow: hidden; padding-right: 8px; padding-left: 8px; text-overflow: ellipsis; transition: background-color 0.2s ease 0s, border 0.2s ease 0s, box-shadow 0.2s ease 0s; vertical-align: bottom; white-space: nowrap; width: var(--devsite-button-width,auto); overflow-wrap: normal; direction: ltr; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; opacity: 0;">请运行以下命令:
sudo apt-get updatesudo apt-get install openjdk-8-jdk如果是 Ubuntu LTS 14.04目前没有适用于 Ubuntu 14.04 的受支持 OpenJDK 8 程序包。Ubuntu 15.04 OpenJDK 8 程序包能够在 Ubuntu 14.04 中成功使用。我们发现,按照以下说明操作时,更高的程序包版本(例如适合 15.10、16.04 的版本)在 Ubuntu 14.04 中无法正常工作。 (SHA256:0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0)[color=var(--devsite-link-color)]openjdk-8-jre_8u45-b14-1_amd64.deb(SHA256:9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849)[color=var(--devsite-link-color)]openjdk-8-jdk_8u45-b14-1_amd64.deb(SHA256:6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c)
(可选)对照随以上每个程序包列出的 SHA256 字符串,确认已下载文件的校验和。 例如,使用 sha256sum 工具:
sha256sum {downloaded.deb file}安装程序包:
sudo apt-get update为下载的每个 .deb 文件运行 dpkg。运行过程中可能会因缺少依赖项而出现错误:
sudo dpkg -i {downloaded.deb file}解决缺少依赖项的问题:
sudo apt-get -f install
更新默认的 Java 版本 - 可选(可选)对于以上 Ubuntu 版本,您可以通过运行以下命令来更新默认的 Java 版本:
sudo update-alternatives --config javasudo update-alternatives --config javac在编译过程中,如果您遇到 Java 版本错误,请按照[color=var(--devsite-link-color)] 错误的 Java 版本部分中的说明设置其路径。 安装所需的程序包 (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 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip[color=var(--devsite-note-notice-color)]注意:要使用 SELinux 工具进行政策分析,还需要安装 python-networkx 软件包。 [color=var(--devsite-note-notice-color)]注意:如果您使用 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:i386sudo 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
|