blob: 7d7f8c2a6cf478a7904dc6d1bb8c85f0d575cb58 [file] [log] [blame]
<html devsite><head>
<title>要求</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>下载和编译 Android 源代码之前,请先确保您的系统符合以下要求。然后,请参阅<a href="initializing.html">构建编译环境</a>,查看适用于相应操作系统的安装说明。</p>
<h2 id="hardware-requirements">硬件要求</h2>
<p>您的开发工作站必须达到或超出以下硬件要求:</p>
<ul>
<li>如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。
</li>
<li>如果是校验代码,至少需要 100GB 可用磁盘空间;如果要进行编译,则还需要 150GB。如果要进行多次编译或使用 ccache,则需要更多空间。<p></p>
</li>
<li>如果您在虚拟机中运行 Linux,则至少需要 16GB 的 RAM/交换空间。
</li>
</ul>
<h2 id="software-requirements">软件要求</h2>
<p><a href="https://android.googlesource.com/">Android 开源项目 (AOSP)</a> <code>master</code> 分支历来都是在 Ubuntu Long Term Support (LTS) 版本中进行开发和测试,但您也可以使用其他 Ubuntu 分发版本。要查看建议使用的版本,请参阅下面的列表。</p>
<p>您的工作站必须具有下面列出的软件。要查看所需的其他软件包以及用于安装这些软件包的命令,请参阅<a href="initializing.html">构建编译环境</a></p>
<h3 id="latest-version">操作系统和 JDK</h3>
<p>如果您要针对 AOSP <code>master</code> 分支进行开发,请使用下列操作系统之一:Ubuntu 14.04 (Trusty)/Mac OS v10.10 (Yosemite) 或更高版本(具有 Xcode 4.5.2 和命令行工具)。</p>
<p>对于 Java 开发套件 (JDK),需要注意的是 AOSP 中 Android 的 <code>master</code> 分支带有预编译版本的 OpenJDK;因此无需另外进行安装。较低的版本则需要单独进行安装。</p>
<p>请参阅<a href="#older-versions">较低 Android 版本的软件包</a>
</p><h3 id="packages">主要软件包</h3>
<ul>
<li><a href="http://www.python.org/download/">python.org</a> 中提供的 Python 2.6 - 2.7</li>
<li><a href="http://ftp.gnu.org/gnu/make/">gnu.org</a> 中提供的 GNU Make 3.81 - 3.82
</li><li><a href="http://git-scm.com/download">git-scm.com</a> 中提供的 Git 1.7 或更高版本</li>
</ul>
<h3 id="binaries">设备二进制文件</h3>
<p>下载预览、出厂映像、驱动程序、无线下载 (OTA) 更新和下列其他 Blob。如需更多详细信息,请参阅<a href="/setup/building.html#obtaining-proprietary-binaries">下载专有二进制文件</a></p>
<ul>
<li><a href="https://developers.google.com/android/blobs-preview">预览二进制文件 (Blob)</a> - 用于 AOSP <code>master</code> 分支开发</li>
<li><a href="https://developers.google.com/android/images">出厂映像</a> - 针对运行带标记的 AOSP 版本分支的受支持设备</li>
<li><a href="https://developers.google.com/android/drivers">硬件支持二进制文件</a> - 针对运行带标记的 AOSP 版本分支的设备</li>
</ul>
<h3 id="toolchain">编译工具链</h3>
<p>Android 8.0 及更高版本仅支持使用 <a href="https://developer.android.com/ndk/guides/standalone_toolchain.html#working_with_clang">Clang/LLVM</a> 来编译 Android 平台。您可以加入 <a href="https://groups.google.com/forum/#!forum/android-llvm">android-llvm</a> 网上论坛来提出问题并获取帮助。在 <a href="https://github.com/android-ndk/ndk">NDK GitHub</a> 上报告 NDK/编译器问题。</p>
<p>对于<a href="https://developer.android.com/ndk/guides/index.html">原生开发工具包 (NDK)</a> 和旧版内核,您也可以使用 AOSP 主分支中包含的 GCC 4.9(在 <code>prebuilts/</code> 下)。</p>
<h3 id="older-versions">较低 Android 版本的软件包</h3>
<p>以下部分提供了较低 Android 版本的相关操作系统和 JDK 软件包。</p>
<h4 id="operating-system">操作系统</h4>
<p>Android 通常是在 GNU/Linux 或 Mac OS 操作系统中进行编译。您也可以使用虚拟机在不支持的系统(例如 Windows)中编译 Android。<br />
</p><h5 id="linux">GNU/Linux</h5>
<ul>
<li>Android 6.0 (Marshmallow) - AOSP master:Ubuntu 14.04 (Trusty)</li>
<li>Android 2.3.x (Gingerbread) - Android 5.x (Lollipop):Ubuntu 12.04 (Precise)</li>
<li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu 10.04 (Lucid)</li>
</ul>
<h5 id="mac">Mac OS (Intel/x86)</h5>
<ul>
<li>Android 6.0 (Marshmallow) - AOSP master:Mac OS v10.10 (Yosemite) 或更高版本,具有 Xcode 4.5.2 和命令行工具</li>
<li>Android 5.x (Lollipop):Mac OS v10.8 (Mountain Lion),具有 Xcode 4.5.2 和命令行工具</li>
<li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat):Mac OS v10.6 (Snow Leopard) 或 Mac OS X v10.7 (Lion),以及 Xcode 4.2(Apple 的开发者工具)</li>
<li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich):Mac OS v10.5 (Leopard) 或 Mac OS X v10.6 (Snow Leopard),以及 Mac OS X v10.5 SDK</li>
</ul>
<p><b>注意</b>:请考虑在 GNU/Linux(而不是其他操作系统)上进行编译。Android 编译系统通常使用编译设备上运行的 ART 来预编译系统 dex 文件。由于 ART 只能在 Linux 上运行,因此编译系统会在非 Linux 操作系统上跳过这个预编译步骤,从而导致 Android 编译的性能下降。</p>
<h4 id="jdk">JDK</h4>
<p>有关较低 Android 版本的预编译路径和安装说明,请参阅<a href="initializing.html#installing-the-jdk">安装 JDK</a></p>
<ul>
<li>Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - <a href="http://openjdk.java.net/install/">OpenJDK 8</a>;Mac OS - <a href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u45-oth-JPR">jdk 8u45 或更高版本</a></li>
<li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - <a href="http://openjdk.java.net/install/">OpenJDK 7</a>;Mac OS - <a href="https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u71-oth-JPR">jdk-7u71-macosx-x64.dmg</a></li>
<li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):Ubuntu - <a href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 6</a>;Mac OS - <a href="http://support.apple.com/kb/dl1572">Java JDK 6</a></li>
<li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu - <a href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 5</a></li>
</ul>
<h4 id="make">品牌</h4>
<p>Android 4.0.x (Ice Cream Sandwich) 及更低版本需要<a href="initializing.html#reverting-from-make-382">将 make 3.82 还原到较低版本</a>,以避免出现编译错误。</p>
</body></html>