143 lines
6 KiB
HTML
143 lines
6 KiB
HTML
<html devsite>
|
|
<head>
|
|
<title>Requirements</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>Before you download and build the Android source, ensure your system meets
|
|
the following requirements. Then see <a href="initializing.html">Establishing a
|
|
Build Environment</a> for installation instructions by operating system.</p>
|
|
|
|
<h2 id=hardware-requirements>Hardware requirements</h2>
|
|
|
|
<p>Your development workstation should meet or exceed these hardware requirements:</p>
|
|
|
|
<ul>
|
|
|
|
<li>A 64-bit environment is required for Gingerbread (2.3.x) and newer
|
|
versions, including the master
|
|
branch. You can compile older versions on 32-bit systems.
|
|
</li>
|
|
|
|
<li>At least 100GB of free disk space to checkout the code and an extra 150GB
|
|
to build it. If you conduct multiple builds or employ ccache, you will need
|
|
even more space.</p>
|
|
</li>
|
|
|
|
<li>If you are running Linux in a virtual machine, you need at
|
|
least 16GB of RAM/swap.
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<h2 id=software-requirements>Software requirements</h2>
|
|
|
|
<p>The <a
|
|
href="https://android.googlesource.com/">Android Open Source Project
|
|
(AOSP)</a> <code>master</code> branch is traditionally developed and tested
|
|
on Ubuntu Long Term Support (LTS) releases, but other distributions may be
|
|
used. See the list below for recommended versions.</p>
|
|
|
|
<p>You workstation must have the software listed below. See <a
|
|
href="initializing.html">Establishing a Build Environment</a> for
|
|
additional required packages and the commands to install them.</p>
|
|
|
|
<h3 id=operating-system>Operating system</h3>
|
|
|
|
<p>Android is typically built with a GNU/Linux or Mac OS operating system. It is
|
|
also possible to build Android in a virtual machine on unsupported systems such
|
|
as Windows.</br>
|
|
|
|
<h4 id=linux>GNU/Linux</h4>
|
|
|
|
<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>
|
|
|
|
<h4 id=mac>Mac OS (Intel/x86)</h4>
|
|
|
|
<ul>
|
|
<li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or
|
|
later with Xcode 4.5.2 and Command Line Tools</li>
|
|
<li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion) with Xcode 4.5.2
|
|
and Command Line Tools</li>
|
|
<li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6
|
|
(Snow Leopard) or Mac OS X v10.7 (Lion) and Xcode 4.2 (Apple's Developer
|
|
Tools)</li>
|
|
<li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS
|
|
v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard) and the Mac OS X v10.5
|
|
SDK</li>
|
|
</ul>
|
|
|
|
<h3 id=jdk>Java Development Kit (JDK)</h3>
|
|
|
|
<p>Please note, since there are no available supported OpenJDK 8 packages for
|
|
Ubuntu 14.04, the Ubuntu 15.04 packages must be installed manually. See <a
|
|
href="initializing.html#for-ubuntu-14-04">JDK for Ubuntu LTS 14.04</a> for precise instructions.</p>
|
|
<ul>
|
|
<li>The master branch of Android in AOSP: 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 or newer</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>
|
|
|
|
<h3 id=packages>Key packages</h3>
|
|
<ul>
|
|
<li>Python 2.6 -- 2.7 from <a href="http://www.python.org/download/">python.org</a></li>
|
|
<li>GNU Make 3.81 -- 3.82 from <a
|
|
href="http://ftp.gnu.org/gnu/make/">gnu.org</a>; Android 3.2.x (Honeycomb) and
|
|
earlier will need to <a href="initializing.html#reverting-from-make-382">revert
|
|
from make 3.82</a> to avoid build errors</li>
|
|
<li>Git 1.7 or newer from <a href="http://git-scm.com/download">git-scm.com</a></li>
|
|
</ul>
|
|
|
|
<h3 id=binaries>Device binaries</h3>
|
|
<p>Download previews, factory images, drivers, over-the-air (OTA) updates, and
|
|
other blobs below. See <a
|
|
href="/source/building.html#obtaining-proprietary-binaries">Obtaining
|
|
proprietary binaries<a> for additional details.</p>
|
|
<ul>
|
|
<li><a
|
|
href="https://developers.google.com/android/nexus/blobs-preview">Preview
|
|
binaries (blobs)</a> - for AOSP <code>master</code> branch development</li>
|
|
<li><a href="https://developers.google.com/android/nexus/images">Factory
|
|
images</a> - for the supported devices running tagged AOSP release
|
|
branches</li>
|
|
<li><a href="https://developers.google.com/android/nexus/drivers">Binary
|
|
hardware support files</a> - for devices running tagged AOSP release
|
|
branches</li>
|
|
<li><a href="https://developers.google.com/android/nexus/ota">OTA images</a>
|
|
- for manually updating Nexus devices over the air</li>
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|