| page.title=Running Builds |
| @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. |
| --> |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>In this document</h2> |
| <ol id="auto-toc"> |
| </ol> |
| </div> |
| </div> |
| |
| <p>This page provides details for running builds on specific devices and is |
| designed to complement the information in |
| <a href="{@docRoot}source/building.html">Building the System</a>.</p> |
| |
| <h2 id="building-fastboot-and-adb">Building fastboot and adb</h2> |
| <p>If you don't already have fastboot and adb, you can build them with the |
| regular build system. Use the instructions in |
| <a href="{@docRoot}source/building.html">Building a System</a> and replace the |
| main <code>make</code> command with:</p> |
| <pre><code>$ make fastboot adb |
| </code></pre> |
| |
| <h2 id="booting-into-fastboot-mode">Booting into fastboot mode</h2> |
| <p>During a cold boot of a device, use the following key combinations to boot |
| into fastboot mode, which is a mode in the bootloader that can be used to flash |
| the device:</p> |
| <table> |
| <thead> |
| <tr> |
| <th>Device</th> |
| <th>Keys</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>hikey</td> |
| <td>Link pins 1 - 2 and 5 - 6 of J15</td> |
| </tr> |
| <tr> |
| <td>angler</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>bullhead</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>shamu</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>fugu</td> |
| <td>Press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>volantis</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>hammerhead</td> |
| <td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press |
| and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>flo</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>deb</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>manta</td> |
| <td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press |
| and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>mako</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>grouper</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>tilapia</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>phantasm</td> |
| <td>Power the device, cover it with one hand after the LEDs light up and until |
| they turn red</td> |
| </tr> |
| <tr> |
| <td>maguro</td> |
| <td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press |
| and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>toro</td> |
| <td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press |
| and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>toroplus</td> |
| <td>Press and hold both <em>Volume Up</em> and <em>Volume Down</em>, then press |
| and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>panda</td> |
| <td>Press and hold <em>Input</em>, then press <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>wingray</td> |
| <td>Press and hold <em>Volume Down</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>crespo</td> |
| <td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td> |
| </tr> |
| <tr> |
| <td>crespo4g</td> |
| <td>Press and hold <em>Volume Up</em>, then press and hold <em>Power</em></td> |
| </tr> |
| </tbody> |
| </table> |
| <p>You can also use the command <code>adb reboot bootloader</code> to reboot |
| from Android directly into the bootloader with no key combinations.</p> |
| |
| <h2 id="unlocking-the-bootloader">Unlocking the bootloader</h2> |
| |
| <p>It's possible to flash a custom system only if the bootloader allows it, and |
| the bootloader is locked by default. You can unlock the bootloader, but be aware |
| that doing so deletes the user data for privacy reasons (the unlock operation |
| needs to run only once). After unlocking, all data on the device is erased, i.e. |
| both the applications' private data and the shared data that is accessible over |
| USB, including photos and movies. Be sure to back up any precious files before |
| unlocking the bootloader.</p> |
| |
| <p>With the device in fastboot mode, unlock the bootloader using:</p> |
| <pre><code>$ fastboot oem unlock |
| </code></pre> |
| <p>The procedure must be confirmed on-screen.</p> |
| |
| <p>On Nexus 10, after unlocking the bootloader, the internal storage remains |
| unformatted. You can format the device using:</p> |
| <pre><code>$ fastboot format cache |
| $ fastboot format userdata |
| </code></pre> |
| |
| <p>To re-lock the bootloader, use:</p> |
| <pre><code>$ fastboot oem lock |
| </code></pre> |
| <p class="note"><strong>Note</strong>: Re-locking the bootloading on a Motoroal Xoom |
| erases user data (including the shared USB data).</p> |
| |
| <h2 id="obtaining-proprietary-binaries">Obtaining proprietary binaries</h2> |
| |
| <p>AOSP cannot be used from pure source code only and requires additional |
| hardware-related proprietary libraries to run, specifically for hardware |
| graphics acceleration.</p> |
| |
| <h3 id="downloading-proprietary-binaries">Downloading proprietary binaries</h3> |
| |
| <p>You can download official binaries for the supported devices running tagged |
| AOSP release branches from <a |
| href="https://developers.google.com/android/nexus/drivers">Google's Nexus |
| driver page</a>. These binaries add access to additional hardware capabilities |
| with non-open source code. To instead build the AOSP master branch, use the |
| <a href="https://developers.google.com/android/nexus/blobs-preview">Binaries |
| Preview for Nexus Devices</a>. When building the master branch for a device, use |
| the binaries for the <a href="{@docRoot}source/build-numbers.html">most recent |
| numbered release</a> or with the most recent date.</p> |
| |
| <h3 id="extracting-proprietary-binaries">Extracting proprietary binaries</h3> |
| |
| <p>Each set of binaries comes as a self-extracting script in a compressed |
| archive. Uncompress each archive, run the included self-extracting script from |
| the root of the source tree, then confirm that you agree to the terms |
| of the enclosed license agreement. The binaries and their matching makefiles |
| will be installed in the <code>vendor/</code> hierarchy of the source tree.</p> |
| |
| <h3 id="cleaning-up">Cleaning up</h3> |
| |
| <p>To ensure the newly installed binaries are properly taken into account after |
| being extracted, delete the existing output of any previous build using:</p> |
| <pre><code>$ make clobber |
| </code></pre> |
| |
| <h2 id="selecting-device-build">Selecting a device build</h2> |
| |
| <p>The recommended builds for devices are available from the lunch menu, |
| accessed when running the <code>lunch</code> command with no arguments. You can |
| download factory images and binaries for Nexus devices from:</p> |
| |
| <ul> |
| <li><a href="https://developers.google.com/android/nexus/images">https://developers.google.com/android/nexus/images</a></li> |
| <li><a href="https://developers.google.com/android/nexus/drivers">https://developers.google.com/android/nexus/drivers</a></li> |
| </ul> |
| |
| <table> |
| <thead> |
| <tr> |
| <th>Device</th> |
| <th>Code name</th> |
| <th>Build configuration</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>HiKey</td> |
| <td>hikey</td> |
| <td>hikey-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 6P</td> |
| <td>angler</td> |
| <td>aosp_angler-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 5X</td> |
| <td>bullhead</td> |
| <td>aosp_bullhead-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 6</td> |
| <td>shamu</td> |
| <td>aosp_shamu-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus Player</td> |
| <td>fugu</td> |
| <td>aosp_fugu-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 9</td> |
| <td>volantis (flounder)</td> |
| <td>aosp_flounder-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 5 (GSM/LTE)</td> |
| <td>hammerhead</td> |
| <td>aosp_hammerhead-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 7 (Wi-Fi)</td> |
| <td>razor (flo)</td> |
| <td>aosp_flo-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 7 (Mobile)</td> |
| <td>razorg (deb)</td> |
| <td>aosp_deb-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 10</td> |
| <td>mantaray (manta)</td> |
| <td>full_manta-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 4</td> |
| <td>occam (mako)</td> |
| <td>full_mako-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 7 (Wi-Fi)</td> |
| <td>nakasi (grouper)</td> |
| <td>full_grouper-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus 7 (Mobile)</td> |
| <td>nakasig (tilapia)</td> |
| <td>full_tilapia-userdebug</td> |
| </tr> |
| <tr> |
| <td>Galaxy Nexus (GSM/HSPA+)</td> |
| <td>yakju (maguro)</td> |
| <td>full_maguro-userdebug</td> |
| </tr> |
| <tr> |
| <td>Galaxy Nexus (Verizon)</td> |
| <td>mysid (toro)</td> |
| <td>aosp_toro-userdebug</td> |
| </tr> |
| <tr> |
| <td>Galaxy Nexus (Experimental)</td> |
| <td>mysidspr (toroplus)</td> |
| <td>aosp_toroplus-userdebug</td> |
| </tr> |
| <tr> |
| <td>PandaBoard (Archived)</td> |
| <td>panda</td> |
| <td>aosp_panda-userdebug</td> |
| </tr> |
| <tr> |
| <td>Motorola Xoom (U.S. Wi-Fi)</td> |
| <td>wingray</td> |
| <td>full_wingray-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus S</td> |
| <td>soju (crespo)</td> |
| <td>full_crespo-userdebug</td> |
| </tr> |
| <tr> |
| <td>Nexus S 4G</td> |
| <td>sojus (crespo4g)</td> |
| <td>full_crespo4g-userdebug</td> |
| </tr> |
| </tbody> |
| </table> |
| <p class="note"><b>Note</b>: Do not use Android 4.1.1 on a Nexus 7 originally |
| sold with Android 4.1.2 or newer.</p> |
| |
| <h2 id="flashing-a-device">Flashing a device</h2> |
| |
| <p>You can flash an entire Android system in a single command; doing so verifies |
| the system being flashed is compatible with the installed bootloader and radio, |
| writes the boot, recovery, and system partitions together, and then reboots the |
| system. Flashing also erases all user data, similarly to <code>fastboot oem |
| unlock</code>.</p> |
| |
| <p>To flash a device, set the device in |
| <a href="#booting-into-fastboot-mode">fastboot mode</a> (if necessary) and run: |
| <pre><code>$ fastboot -w flashall |
| </code></pre> |
| |
| <p class="note"><strong>Note</strong>: Filesystems created via fastboot on Motorola Xoom |
| do not function optimally. We recommend re-creating filesystems through |
| recovery, using: <code>$ adb reboot recovery</code>. While in recovery, open the |
| menu (press Power + Volume Up), wipe the cache partition, then wipe data.</p> |
| |
| |
| <h2 id="restoring-devices-to-factory-state">Restoring devices to |
| factory state</h2> |
| |
| <p>Factory images for Nexus 5, Nexus 10, Nexus 4, Nexus Q, Nexus 7, Galaxy Nexus |
| (GSM/HSPA+ "yakju" and "takju", and CDMA/LTE "mysid" and "mysidspr"), Nexus S, |
| and Nexus S 4G are available from |
| <a href="https://developers.google.com/android/nexus/images">Google's factory |
| image</a> page.</p> |
| |
| <p>Factory images for the Motorola Xoom are distributed directly by Motorola.</p> |