Home | History | Annotate | Download | only in source
      1 <html devsite>
      2   <head>
      3     <title>Requirements</title>
      4     <meta name="project_path" value="/_project.yaml" />
      5     <meta name="book_path" value="/_book.yaml" />
      6   </head>
      7   <body>
      8   <!--
      9       Copyright 2017 The Android Open Source Project
     10 
     11       Licensed under the Apache License, Version 2.0 (the "License");
     12       you may not use this file except in compliance with the License.
     13       You may obtain a copy of the License at
     14 
     15           http://www.apache.org/licenses/LICENSE-2.0
     16 
     17       Unless required by applicable law or agreed to in writing, software
     18       distributed under the License is distributed on an "AS IS" BASIS,
     19       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20       See the License for the specific language governing permissions and
     21       limitations under the License.
     22   -->
     23 
     24 
     25 
     26 <p>Before you download and build the Android source, ensure your system meets
     27   the following requirements. Then see <a href="initializing.html">Establishing a
     28   Build Environment</a> for installation instructions by operating system.</p>
     29 
     30 <h2 id=hardware-requirements>Hardware requirements</h2>
     31 
     32 <p>Your development workstation should meet or exceed these hardware requirements:</p>
     33 
     34 <ul>
     35 
     36   <li>A 64-bit environment is required for Gingerbread (2.3.x) and newer
     37   versions, including the master
     38   branch. You can compile older versions on 32-bit systems.
     39   </li>
     40 
     41   <li>At least 100GB of free disk space to checkout the code and an extra 150GB
     42   to build it. If you conduct multiple builds or employ ccache, you will need
     43   even more space.</p>
     44   </li>
     45 
     46   <li>If you are running Linux in a virtual machine, you need at
     47   least 16GB of RAM/swap.
     48   </li>
     49 
     50 </ul>
     51 
     52 <h2 id=software-requirements>Software requirements</h2>
     53 
     54 <p>The <a
     55   href="https://android.googlesource.com/">Android Open Source Project
     56   (AOSP)</a> <code>master</code> branch is traditionally developed and tested
     57   on Ubuntu Long Term Support (LTS) releases, but other distributions may be
     58   used. See the list below for recommended versions.</p>
     59 
     60 <p>You workstation must have the software listed below. See <a
     61   href="initializing.html">Establishing a Build Environment</a> for
     62   additional required packages and the commands to install them.</p>
     63 
     64 <h3 id=operating-system>Operating system</h3>
     65 
     66 <p>Android is typically built with a GNU/Linux or Mac OS operating system. It is
     67   also possible to build Android in a virtual machine on unsupported systems such
     68   as Windows.</br>
     69 
     70 <h4 id=linux>GNU/Linux</h4>
     71 
     72   <ul>
     73     <li>Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)</li>
     74     <li>Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)</li>
     75     <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)</li>
     76   </ul>
     77 
     78 <h4 id=mac>Mac OS (Intel/x86)</h4>
     79 
     80   <ul>
     81     <li>Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) or
     82     later with Xcode 4.5.2 and Command Line Tools</li>
     83     <li>Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion) with Xcode 4.5.2
     84     and Command Line Tools</li>
     85     <li>Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6
     86     (Snow Leopard) or Mac OS X v10.7 (Lion) and Xcode 4.2 (Apple's Developer
     87     Tools)</li>
     88     <li>Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS
     89     v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard) and the Mac OS X v10.5
     90     SDK</li>
     91   </ul>
     92 
     93 <h3 id=jdk>Java Development Kit (JDK)</h3>
     94 
     95 <p>Please note, since there are no available supported OpenJDK 8 packages for
     96   Ubuntu 14.04, the Ubuntu 15.04 packages must be installed manually. See <a
     97   href="initializing.html#for-ubuntu-14-04">JDK for Ubuntu LTS 14.04</a> for precise instructions.</p>
     98   <ul>
     99     <li>The master branch of Android in AOSP: Ubuntu - <a
    100     href="http://openjdk.java.net/install/">OpenJDK 8</a>, Mac OS - <a
    101     href="http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jdk-8u45-oth-JPR">jdk
    102     8u45 or newer</a></li>
    103     <li>Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - <a
    104     href="http://openjdk.java.net/install/">OpenJDK 7</a>, Mac OS - <a
    105     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>
    106     <li>Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - <a
    107     href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 6</a>, Mac OS - <a
    108     href="http://support.apple.com/kb/dl1572">Java JDK 6</a></li>
    109     <li>Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - <a
    110     href="http://www.oracle.com/technetwork/java/javase/archive-139210.html">Java JDK 5</a></li>
    111   </ul>
    112 
    113 <h3 id=packages>Key packages</h3>
    114   <ul>
    115     <li>Python 2.6 -- 2.7 from <a href="http://www.python.org/download/">python.org</a></li>
    116     <li>GNU Make 3.81 -- 3.82 from <a
    117     href="http://ftp.gnu.org/gnu/make/">gnu.org</a>; Android 3.2.x (Honeycomb) and
    118     earlier will need to <a href="initializing.html#reverting-from-make-382">revert
    119     from make 3.82</a> to avoid build errors</li>
    120     <li>Git 1.7 or newer from <a href="http://git-scm.com/download">git-scm.com</a></li>
    121   </ul>
    122 
    123 <h3 id=binaries>Device binaries</h3>
    124 <p>Download previews, factory images, drivers, over-the-air (OTA) updates, and
    125 other blobs below. See <a
    126 href="/source/building.html#obtaining-proprietary-binaries">Obtaining
    127 proprietary binaries<a> for additional details.</p>
    128   <ul>
    129     <li><a
    130     href="https://developers.google.com/android/nexus/blobs-preview">Preview
    131     binaries (blobs)</a> - for AOSP <code>master</code> branch development</li>
    132     <li><a href="https://developers.google.com/android/nexus/images">Factory
    133     images</a> - for the supported devices running tagged AOSP release
    134     branches</li>
    135     <li><a href="https://developers.google.com/android/nexus/drivers">Binary
    136     hardware support files</a> - for devices running tagged AOSP release
    137     branches</li>
    138     <li><a href="https://developers.google.com/android/nexus/ota">OTA images</a>
    139     - for manually updating Nexus devices over the air</li>
    140   </ul>
    141 
    142   </body>
    143 </html>
    144