page.title=Requirements
@jd:body

<!--
    Copyright 2016 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.
-->
<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc">
    </ol>
  </div>
</div>

<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 for a checkout, 150GB for a single
  build, and 200GB or more for multiple builds. If you 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="{@docRoot}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>
