page.title=Requirements
@jd:body

<!--
    Copyright 2015 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">Initializing 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> is routinely tested in-house on recent versions of
  Ubuntu LTS (14.04), but most distributions should have the required
  build tools available.</p>

<p>You workstation will need this software:</p>

<ul>

  <li>A Linux or Mac OS operating system. It is also possible to build Android in a
  virtual machine on unsupported systems such as Windows.</br>

  For Linux:
  <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>

  For Mac:
  <ul>
    <li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or later</li>
    <li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion)</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)</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)</li>
  </ul>
  </li>

  <li>
  Java Development Kit (JDK):
  <ul>
    <li>The master branch of Android in AOSP: Java 8
    <li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Java 7
    <li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Java 6
    <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Java 5
  </ul>
  </li>

  <li>
  Python 2.6 -- 2.7, which you can download from <a href="http://www.python.org/download/">python.org</a>.</p>
  </li>

  <li>
  GNU Make 3.81 -- 3.82, which you can download from <a href="http://ftp.gnu.org/gnu/make/">gnu.org</a>,</p>
  </li>

  <li>
  Git 1.7 or newer. You can find it at <a href="http://git-scm.com/download">git-scm.com</a>.</p>
  </li>

</ul>
