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