| page.title=Codenames, Tags, and Build Numbers |
| @jd:body |
| |
| <!-- |
| Copyright 2010 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</td> |
| <td>API level 18</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:</p> |
| <table> |
| <thead> |
| <tr> |
| <th>Build</th> |
| <th>Tag</th> |
| <th>Notes</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>DRC83</td> |
| <td>android-1.6_r1.1</td> |
| <td>earliest Donut version, ADP1, ADP2</td> |
| </tr> |
| <tr> |
| <td>DRC92</td> |
| <td>android-1.6_r1.2</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>DRD08</td> |
| <td>android-1.6_r1.3</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>DRD20</td> |
| <td>android-1.6_r1.4</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>DMD64</td> |
| <td>android-1.6_r1.5</td> |
| <td>latest Donut version</td> |
| </tr> |
| <tr> |
| <td>ESD20</td> |
| <td>android-2.0_r1</td> |
| <td>earliest Eclair version</td> |
| </tr> |
| <tr> |
| <td>ESD56</td> |
| <td>android-2.0.1_r1</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>ERD79</td> |
| <td>android-2.1_r1</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>ERE27</td> |
| <td>android-2.1_r2</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>EPE54B</td> |
| <td>android-2.1_r2.1p</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>ESE81</td> |
| <td>android-2.1_r2.1s</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>EPF21B</td> |
| <td>android-2.1_r2.1p2</td> |
| <td>latest Eclair version</td> |
| </tr> |
| <tr> |
| <td>FRF85B</td> |
| <td>android-2.2_r1</td> |
| <td>earliest Froyo version, Nexus One</td> |
| </tr> |
| <tr> |
| <td>FRF91</td> |
| <td>android-2.2_r1.1</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>FRG01B</td> |
| <td>android-2.2_r1.2</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>FRG22D</td> |
| <td>android-2.2_r1.3</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>FRG83</td> |
| <td>android-2.2.1_r1</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>FRG83D</td> |
| <td>android-2.2.1_r2</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>FRG83G</td> |
| <td>android-2.2.2_r1</td> |
| <td>Nexus One</td> |
| </tr> |
| <tr> |
| <td>FRK76</td> |
| <td>android-2.2.3_r1</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>FRK76C</td> |
| <td>android-2.2.3_r2</td> |
| <td>latest Froyo version</td> |
| </tr> |
| <tr> |
| <td>GRH55</td> |
| <td>android-2.3_r1</td> |
| <td>earliest Gingerbread version, Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRH78</td> |
| <td>android-2.3.1_r1</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRH78C</td> |
| <td>android-2.3.2_r1</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRI40</td> |
| <td>android-2.3.3_r1</td> |
| <td>Nexus One, Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRI54</td> |
| <td>android-2.3.3_r1.1</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRJ06D</td> |
| <td>android-2.3.4_r0.9</td> |
| <td>Nexus S 4G</td> |
| </tr> |
| <tr> |
| <td>GRJ22</td> |
| <td>android-2.3.4_r1</td> |
| <td>Nexus One, Nexus S, Nexus S 4G</td> |
| </tr> |
| <tr> |
| <td>GRJ90</td> |
| <td>android-2.3.5_r1</td> |
| <td>Nexus S 4G</td> |
| </tr> |
| <tr> |
| <td>GRK39C</td> |
| <td>android-2.3.6_r0.9</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>GRK39F</td> |
| <td>android-2.3.6_r1</td> |
| <td>Nexus One, Nexus S</td> |
| </tr> |
| <tr> |
| <td>GWK74</td> |
| <td>android-2.3.7_r1</td> |
| <td>latest Gingerbread version, Nexus S 4G</td> |
| </tr> |
| <tr> |
| <td>ITL41D</td> |
| <td>android-4.0.1_r1</td> |
| <td>earliest Ice Cream Sandwich version, Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>ITL41D</td> |
| <td>android-4.0.1_r1.1</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>ITL41F</td> |
| <td>android-4.0.1_r1.2</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>ICL53F</td> |
| <td>android-4.0.2_r1</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>IML74K</td> |
| <td>android-4.0.3_r1</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>IML77</td> |
| <td>android-4.0.3_r1.1</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>IMM76</td> |
| <td>android-4.0.4_r1</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>IMM76D</td> |
| <td>android-4.0.4_r1.1</td> |
| <td>Nexus S, Nexus S 4G, Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>IMM76I</td> |
| <td>android-4.0.4_r1.2</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>IMM76K</td> |
| <td>android-4.0.4_r2</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>IMM76L</td> |
| <td>android-4.0.4_r2.1</td> |
| <td>latest Ice Cream Sandwich version</td> |
| </tr> |
| <tr> |
| <td>JRO03C</td> |
| <td>android-4.1.1_r1</td> |
| <td>earliest Jelly Bean version, Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>JRO03D</td> |
| <td>android-4.1.1_r1.1</td> |
| <td>Nexus 7</td> |
| </tr> |
| <tr> |
| <td>JRO03E</td> |
| <td>android-4.1.1_r2</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>JRO03H</td> |
| <td>android-4.1.1_r3</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td>JRO03L</td> |
| <td>android-4.1.1_r4</td> |
| <td>Nexus S</td> |
| </tr> |
| <tr> |
| <td>JRO03O</td> |
| <td>android-4.1.1_r5</td> |
| <td>Galaxy Nexus</td> |
| </tr> |
| <tr> |
| <td>JRO03R</td> |
| <td>android-4.1.1_r6</td> |
| <td>Nexus S 4G</td> |
| </tr> |
| <tr> |
| <td>JRO03S</td> |
| <td>android-4.1.1_r6.1</td> |
| <td>Nexus 7</td> |
| </tr> |
| |
| <tr> |
| <td>JZO54K</td> |
| <td>android-4.1.2_r1</td> |
| <td>Nexus S, Galaxy Nexus, Nexus 7</td> |
| </tr> |
| |
| <tr> |
| <td>JZO54L</td> |
| <td>android-4.1.2_r2</td> |
| <td></td> |
| </tr> |
| |
| <tr> |
| <td>JZO54M</td> |
| <td>android-4.1.2_r2.1</td> |
| <td></td> |
| </tr> |
| |
| <tr> |
| <td>JOP40C</td> |
| <td>android-4.2_r1</td> |
| <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JOP40D</td> |
| <td>android-4.2.1_r1</td> |
| <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JOP40F</td> |
| <td>android-4.2.1_r1.1</td> |
| <td>Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JOP40G</td> |
| <td>android-4.2.1_r1.2</td> |
| <td>Nexus 4</td> |
| </tr> |
| |
| <tr> |
| <td>JDQ39</td> |
| <td>android-4.2.2_r1</td> |
| <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JDQ39B</td> |
| <td>android-4.2.2_r1.1</td> |
| <td>Nexus 7</td> |
| </tr> |
| |
| <tr> |
| <td>JDQ39E</td> |
| <td>android-4.2.2_r1.1</td> |
| <td>Nexus 4</td> |
| </tr> |
| |
| <tr> |
| <td>JWR66L</td> |
| <td>android-4.3_r0.9</td> |
| <td>Nexus 7</td> |
| </tr> |
| |
| <tr> |
| <td>JWR66N</td> |
| <td>android-4.3_r0.9.1</td> |
| <td>Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JWR66V</td> |
| <td>android-4.3_r1</td> |
| <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td> |
| </tr> |
| |
| <tr> |
| <td>JSR78D</td> |
| <td>android-4.3_r2</td> |
| <td>Nexus 7 (deb)</td> |
| </tr> |
| |
| <tr> |
| <td>JSS15J</td> |
| <td>android-4.3_r2.1</td> |
| <td>latest Jelly Bean version, Nexus 7 (flo/deb)</td> |
| </tr> |
| |
| </tbody> |
| </table> |
| <p>The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev, |
| jb-mr1-dev, jb-mr1.1-dev, jb-mr2-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> |
| |
| <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> |
| |