page.title=Building for an Android Dev Phone
@jd:body

<!--
    Copyright 2013 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><em>The information on this page is a bit out of date. We'll update this
page as soon as we can.</em></p>
<p>The basic manifest for 1.6 defines which projects are
needed to do a generic build for the emulator or for unlocked Dream devices
(e.g. the Android Dev Phone 1). You need to have an appropriate device running
a matching official image.</p>
<p>To build donut for dream (your
device needs to be an ADP1 running an official 1.6 system):</p>
<ol>
<li>
<p>Follow the <a href="downloading.html">normal steps</a> to setup repo and check out the sources.</p>
</li>
<li>
<p>At the root of your source tree, run <code>. build/envsetup.sh</code> like you normally would for an emulator build.</p>
</li>
<li>
<p>Run <code>make adb</code> if you don't already have adb in your path.</p>
</li>
<li>
<p>run <code>adb root</code>.</p>
</li>
<li>
<p>in <code>vendor/htc/dream-open/</code> there is a script called "extract-files.sh" that must be run (from that directory) to extract some proprietary binaries from your device (*). You only need to do this once.</p>
</li>
<li>
<p>run <code>lunch aosp_dream_us-eng</code> to specifically configure the build system for dream (the default is the equivalent of "lunch generic-eng", which doesn't contain dream-specific files).</p>
</li>
<li>
<p>run make from the top of the source tree.</p>
</li>
<li>
<p>from this point, the fastboot tool (which is put automatically in your path) can be used to flash a device: boot the device into the bootloader by holding the back key while pressing the power key, and run <code>fastboot -w flashall</code>.</p>
</li>
</ol>
<p>Note: these instructions work for the sapphire (ADP2) build target, as
well. Simply replace "dream" with "sapphire" above.</p>
