page.title=Codenames, Tags, and Build Numbers
@jd:body

<!--
    Copyright 2014 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>At a high level, Android development happens around families of
releases, which use code names ordered alphabetically after tasty
treats.</p>

<h2 id="platform-code-names-versions-api-levels-and-ndk-releases">Platform Codenames, Versions, API Levels, and NDK Releases</h2>
<p>The code names match the following version numbers, along with
API levels and NDK releases provided for convenience:</p>
<table>
<thead>
<tr>
<th>Code name</th>
<th>Version</th>
<th>API level</th>
</tr>
</thead>
<tbody>
<tr>
<td>(no code name)</td>
<td>1.0</td>
<td>API level 1</td>
</tr>
<tr>
<td>(no code name)</td>
<td>1.1</td>
<td>API level 2</td>
</tr>
<tr>
<td>Cupcake</td>
<td>1.5</td>
<td>API level 3, NDK 1</td>
</tr>
<tr>
<td>Donut</td>
<td>1.6</td>
<td>API level 4, NDK 2</td>
</tr>
<tr>
<td>Eclair</td>
<td>2.0</td>
<td>API level 5</td>
</tr>
<tr>
<td>Eclair</td>
<td>2.0.1</td>
<td>API level 6</td>
</tr>
<tr>
<td>Eclair</td>
<td>2.1</td>
<td>API level 7, NDK 3</td>
</tr>
<tr>
<td>Froyo</td>
<td>2.2.x</td>
<td>API level 8, NDK 4</td>
</tr>
<tr>
<td>Gingerbread</td>
<td>2.3 - 2.3.2</td>
<td>API level 9, NDK 5</td>
</tr>
<tr>
<td>Gingerbread</td>
<td>2.3.3 - 2.3.7</td>
<td>API level 10</td>
</tr>
<tr>
<td>Honeycomb</td>
<td>3.0</td>
<td>API level 11</td>
</tr>
<tr>
<td>Honeycomb</td>
<td>3.1</td>
<td>API level 12, NDK 6</td>
</tr>
<tr>
<td>Honeycomb</td>
<td>3.2.x</td>
<td>API level 13</td>
</tr>
<tr>
<td>Ice Cream Sandwich</td>
<td>4.0.1 - 4.0.2</td>
<td>API level 14, NDK 7</td>
</tr>
<tr>
<td>Ice Cream Sandwich</td>
<td>4.0.3 - 4.0.4</td>
<td>API level 15, NDK 8</td>
</tr>
<tr>
<td>Jelly Bean</td>
<td>4.1.x</td>
<td>API level 16</td>
</tr>
<tr>
<td>Jelly Bean</td>
<td>4.2.x</td>
<td>API level 17</td>
</tr>
<tr>
<td>Jelly Bean</td>
<td>4.3.x</td>
<td>API level 18</td>
</tr>
<tr>
<td>KitKat</td>
<td>4.4 - 4.4.4</td>
<td>API level 19</td>
</tr>
</tbody>
</table>
<p>Starting with Cupcake, individual builds are identified with a short
build code, e.g. FRF85B.</p>
<p>The first letter is the code name of the release family, e.g. F is
Froyo.</p>
<p>The second letter is a branch code that allows Google to identify
the exact code branch that the build was made from, and R is by
convention the primary release branch.</p>
<p>The next letter and two digits are a date code. The letter counts
quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two
digits count days within the quarter, so F85 is June 24 2010.</p>
<p>Finally, the last letter identifies individual versions related to
the same date code, sequentially starting with A; A is actually
implicit and usually omitted for brevity.</p>
<p>The date code is not guaranteed to be the exact date at which a build
was made, and it is common that minor variations added to an existing
build re-use the same date code as that existing build.</p>

<h2 id="source-code-tags-and-builds">Source Code Tags and Builds</h2>
<p>Starting with Donut, the exact list of tags and builds is in the
following table. Factory images and binaries for Nexus devices can be downloaded from:</p>
<p><a href="https://developers.google.com/android/nexus/images">https://developers.google.com/android/nexus/images</a></p>
<p><a href="https://developers.google.com/android/nexus/drivers">https://developers.google.com/android/nexus/drivers</a></p>
<table>
  <thead>
<tr>
  <th>Build</th>
<th>Branch</th>
<th>Version</th>
<th>Supported devices</th>
</tr>
<tr>
  <td>KTU84P</td>
  <td>android-4.4.4_r1</td>
  <td>KitKat</td>
  <td>Nexus 5, Nexus 7 (flo/grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>KTU84M</td>
  <td>android-4.4.3_r1.1</td>
  <td>KitKat</td>
  <td>Nexus 5 (hammerhead)</td>
</tr>
<tr>
  <td>KTU84L</td>
  <td>android-4.4.3_r1</td>
  <td>KitKat</td>
  <td>Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>KVT49L</td>
  <td>android-4.4.2_r2</td>
  <td>KitKat</td>
  <td>Nexus 7 (deb Verizon)</td>
</tr>
<tr>
  <td>KOT49H</td>
  <td>android-4.4.2_r1</td>
  <td>KitKat</td>
  <td> Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>KOT49E</td>
  <td>android-4.4.1_r1</td>
  <td>KitKat</td>
  <td>Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>KRT16S</td>
  <td>android-4.4_r1.2</td>
  <td>KitKat</td>
  <td>Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>KRT16M</td>
  <td>android-4.4.2_r1</td>
  <td>KitKat</td>
  <td>Nexus 5 (hammerhead)</td>
</tr>
<tr>
  <td>JLS36I</td>
  <td>android-4.3.1_r1</td>
  <td>Jelly Bean</td>
  <td>Nexus 7 (deb)</td>
</tr>
<tr>
  <td>JLS36C</td>
  <td>android-4.3_r3</td>
  <td>Jelly Bean</td>
  <td> Nexus 7 (deb)</td>
</tr>
<tr>
  <td>JSS15R</td>
  <td>android-4.3_r2.3</td>
  <td>Jelly Bean</td>
  <td>Nexus 7 (flo)</td>
</tr>
<tr>
  <td>JSS15Q</td>
  <td>android-4.3_r2.2</td>
  <td>Jelly Bean</td>
  <td>Nexus 7 (flo)</td>
</tr>
<tr>
  <td>JSS15J</td>
  <td>android-4.3_r2.1</td>
  <td>Jelly Bean</td>
  <td>Nexus 7 (flo/deb)</td>
</tr>
<tr>
  <td>JSR78D</td>
  <td>android-4.3_r2</td>
  <td>Jelly Bean</td>
  <td>Nexus 7 (deb)</td>
</tr>
<tr>
  <td>JWR66Y</td>
  <td>android-4.3_r1.1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JWR66V</td>
  <td>android-4.3_r1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JWR66N</td>
  <td>android-4.3_r0.9.1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JWR66L</td>
  <td>android-4.3_r0.9</td>
  <td>Jelly Bean</td>
  <td>Nexus 7</td>
</tr>
<tr>
  <td>JDQ39E</td>
  <td>android-4.2.2_r1.2</td>
  <td>Jelly Bean</td>
  <td>Nexus 4</td>
</tr>
<tr>
  <td>JDQ39B</td>
  <td>android-4.2.2_r1.1</td>
  <td>Jelly Bean</td>
  <td>Nexus 7</td>
</tr>
<tr>
  <td>JDQ39</td>
  <td>android-4.2.2_r1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JOP40G</td>
  <td>android-4.2.1_r1.2</td>
  <td>Jelly Bean</td>
  <td>Nexus 4</td>
</tr>
<tr>
  <td>JOP40F</td>
  <td>android-4.2.1_r1.1</td>
  <td>Jelly Bean</td>
  <td>Nexus 10</td>
</tr>
<tr>
  <td>JOP40D</td>
  <td>android-4.2.1_r1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JOP40C</td>
  <td>android-4.2_r1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
</tr>
<tr>
  <td>JZO54M</td>
  <td>android-4.1.2_r2.1</td>
  <td>Jelly Bean</td>
  <td></td>
</tr>
<tr>
  <td>JZO54L</td>
  <td>android-4.1.2_r2</td>
  <td>Jelly Bean</td>
  <td></td>
</tr>
<tr>
  <td>JZO54K</td>
  <td>android-4.1.2_r1</td>
  <td>Jelly Bean</td>
  <td>Nexus S, Galaxy Nexus, Nexus 7</td>
</tr>
<tr>
  <td>JRO03S</td>
  <td>android-4.1.1_r6.1</td>
  <td>Jelly Bean</td>
  <td>Nexus 7</td>
</tr>
<tr>
  <td>JRO03R</td>
  <td>android-4.1.1_r6</td>
  <td>Jelly Bean</td>
  <td>Nexus S 4G</td>
</tr>
<tr>
  <td>JRO03O</td>
  <td>android-4.1.1_r5</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>JRO03L</td>
  <td>android-4.1.1_r4</td>
  <td>Jelly Bean</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>JRO03H</td>
  <td>android-4.1.1_r3</td>
  <td>Jelly Bean</td>
  <td></td>
</tr>
<tr>
  <td>JRO03E</td>
  <td>android-4.1.1_r2</td>
  <td>Jelly Bean</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>JRO03D</td>
  <td>android-4.1.1_r1.1</td>
  <td>Jelly Bean</td>
  <td>Nexus 7</td>
</tr>
<tr>
  <td>JRO03C</td>
  <td>android-4.1.1_r1</td>
  <td>Jelly Bean</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>IMM76L</td>
  <td>android-4.0.4_r2.1</td>
  <td>Ice Cream Sandwich</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>IMM76K</td>
  <td>android-4.0.4_r2</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>IMM76I</td>
  <td>android-4.0.4_r1.2</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>IMM76D</td>
  <td>android-4.0.4_r1.1</td>
  <td>Ice Cream Sandwich</td>
  <td>Nexus S, Nexus S 4G, Galaxy Nexus</td>
</tr>
<tr>
  <td>IMM76</td>
  <td>android-4.0.4_r1</td>
  <td>Ice Cream Sandwich</td>
  <td></td>
</tr>
<tr>
  <td>IML77</td>
  <td>android-4.0.3_r1.1</td>
  <td>Ice Cream Sandwich</td>
  <td></td>
</tr>
<tr>
  <td>IML74K</td>
  <td>android-4.0.3_r1</td>
  <td>Ice Cream Sandwich</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>ICL53F</td>
  <td>android-4.0.2_r1</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>ITL41F</td>
  <td>android-4.0.1_r1.2</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>ITL41D</td>
  <td>android-4.0.1_r1.1</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>ITL41D</td>
  <td>android-4.0.1_r1</td>
  <td>Ice Cream Sandwich</td>
  <td>Galaxy Nexus</td>
</tr>
<tr>
  <td>GWK74</td>
  <td>android-2.3.7_r1</td>
  <td>Gingerbread</td>
  <td>Nexus S 4G</td>
</tr>
<tr>
  <td>GRK39F</td>
  <td>android-2.3.6_r1</td>
  <td>Gingerbread</td>
  <td>Nexus One, Nexus S</td>
</tr>
<tr>
  <td>GRK39C</td>
  <td>android-2.3.6_r0.9</td>
  <td>Gingerbread</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>GRJ90</td>
  <td>android-2.3.5_r1</td>
  <td>Gingerbread</td>
  <td>Nexus S 4G</td>
</tr>
<tr>
  <td>GRJ22</td>
  <td>android-2.3.4_r1</td>
  <td>Gingerbread</td>
  <td>Nexus One, Nexus S, Nexus S 4G</td>
</tr>
<tr>
  <td>GRJ06D</td>
  <td>android-2.3.4_r0.9</td>
  <td>Gingerbread</td>
  <td>Nexus S 4G</td>
</tr>
<tr>
  <td>GRI54</td>
  <td>android-2.3.3_r1.1</td>
  <td>Gingerbread</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>GRI40</td>
  <td>android-2.3.3_r1</td>
  <td>Gingerbread</td>
  <td>Nexus One, Nexus S</td>
</tr>
<tr>
  <td>GRH78C</td>
  <td>android-2.3.2_r1</td>
  <td>Gingerbread</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>GRH78</td>
  <td>android-2.3.1_r1</td>
  <td>Gingerbread</td>
  <td>Nexus S</td>
</tr>
<tr>
  <td>GRH55</td>
  <td>android-2.3_r1</td>
  <td>Gingerbread</td>
  <td>earliest Gingerbread version, Nexus S</td>
</tr>
<tr>
  <td>FRK76C</td>
  <td>android-2.2.3_r2</td>
  <td>Froyo</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>FRK76</td>
  <td>android-2.2.3_r1</td>
  <td>Froyo</td>
  <td></td>
</tr>
<tr>
  <td>FRG83G</td>
  <td>android-2.2.2_r1</td>
  <td>Froyo</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>FRG83D</td>
  <td>android-2.2.1_r2</td>
  <td>Froyo</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>FRG83</td>
  <td>android-2.2.1_r1</td>
  <td>Froyo</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>FRG22D</td>
  <td>android-2.2_r1.3</td>
  <td>Froyo</td>
  <td></td>
</tr>
<tr>
  <td>FRG01B</td>
  <td>android-2.2_r1.2</td>
  <td>Froyo</td>
  <td></td>
</tr>
<tr>
  <td>FRF91</td>
  <td>android-2.2_r1.1</td>
  <td>Froyo</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>FRF85B</td>
  <td>android-2.2_r1</td>
  <td>Froyo</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>EPF21B</td>
  <td>android-2.1_r2.1p2</td>
  <td>Eclair</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>ESE81</td>
  <td>android-2.1_r2.1s</td>
  <td>Eclair</td>
  <td></td>
</tr>
<tr>
  <td>EPE54B</td>
  <td>android-2.1_r2.1p</td>
  <td>Eclair</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>ERE27</td>
  <td>android-2.1_r2</td>
  <td>Eclair</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>ERD79</td>
  <td>android-2.1_r1</td>
  <td>Eclair</td>
  <td>Nexus One</td>
</tr>
<tr>
  <td>ESD56</td>
  <td>android-2.0.1_r1</td>
  <td>Eclair</td>
  <td></td>
</tr>
<tr>
  <td>ESD20</td>
  <td>android-2.0_r1</td>
  <td>Eclair</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>DMD64</td>
  <td>android-1.6_r1.5</td>
  <td>Donut</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>DRD20</td>
  <td>android-1.6_r1.4</td>
  <td></td>
  <td></td>
</tr>
<tr>
  <td>DRD08</td>
  <td>android-1.6_r1.3</td>
  <td></td>
  <td></td>
</tr>
<tr>
  <td>DRC92</td>
  <td>android-1.6_r1.2</td>
  <td></td>
  <td></td>
</tr>
</thead>
<tbody>

</tbody>
</table>
<p>The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev,
jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-dev
represent development
branches that do not exactly match configurations that were tested
by Google. They might contain a variety of changes in addition to
the official tagged releases, and those haven't been as thoroughly
tested.</p>

<p>To differentiate between releases, you may obtain a list of changes
associated with each project by issuing the following command and passing it
the two branch tags:</p>

<pre><code>$ repo forall -pc 'git log --no-merges --oneline branch-1..branch-2'</pre></code>

<p>For example:</p>

<pre><code>$ repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'</pre></code>

<p>And to output to a text file:</p>

<pre><code>repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1' > /tmp/android-4.4.2_r2-android-4.4.2_r1-diff.txt</pre></code>

<h2 id="honeycomb-gpl-modules">Honeycomb GPL Modules</h2>
<p>For Honeycomb, the entire platform source code isn't available.
However, the parts of Honeycomb licensed under the GPL and LGPL
are available under the following tags:</p>

<table>
<thead>
<tr>
<th>Build</th>
<th>Tag</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>HRI39</td>
<td>android-3.0_r1</td>
<td>earliest Honeycomb version</td>
</tr>
<tr>
<td>HRI66</td>
<td>android-3.0_r1.1</td>
<td></td>
</tr>
<tr>
<td>HWI69</td>
<td>android-3.0_r1.2</td>
<td></td>
</tr>
<tr>
<td>HRI83</td>
<td>android-3.0_r1.3</td>
<td></td>
</tr>
<tr>
<td>HMJ37</td>
<td>android-3.1_r1</td>
<td></td>
</tr>
<tr>
<td>HTJ85B</td>
<td>android-3.2_r1</td>
<td></td>
</tr>
<tr>
<td>HTK55D</td>
<td>android-3.2.1_r1</td>
<td></td>
</tr>
<tr>
<td>HTK75D</td>
<td>android-3.2.1_r2</td>
<td></td>
</tr>
<tr>
<td>HLK75C</td>
<td>android-3.2.2_r1</td>
<td></td>
</tr>
<tr>
<td>HLK75D</td>
<td>android-3.2.2_r2</td>
<td></td>
</tr>
<tr>
<td>HLK75F</td>
<td>android-3.2.4_r1</td>
<td></td>
</tr>
<tr>
<td>HLK75H</td>
<td>android-3.2.6_r1</td>
<td>latest Honeycomb version</td>
</tr>
</tbody>
</table>
<p>There is no manifest that contains exactly those. However, there
are manifests that allow building those components. The following
commands work for 3.0_r1.1, and using other versions can be done by
switching the git checkout paramater, and if necessary the -m parameter in
repo init. The git checkout command outputs an error for the non-GPL
projects, where it can't find the tag in question.</p>
<pre><code>$ repo init -b master -m base-for-3.0-gpl.xml
$ repo sync
$ repo forall -c git checkout android-3.0_r1.1
</code></pre>

