Home | History | Annotate | Download | only in source
      1 page.title=Codenames, Tags, and Build Numbers
      2 @jd:body
      3 
      4 <!--
      5     Copyright 2010 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>At a high level, Android development happens around families of
     28 releases, which use code names ordered alphabetically after tasty
     29 treats.</p>
     30 
     31 <h2 id="platform-code-names-versions-api-levels-and-ndk-releases">Platform Codenames, Versions, API Levels, and NDK Releases</h2>
     32 <p>The code names match the following version numbers, along with
     33 API levels and NDK releases provided for convenience:</p>
     34 <table>
     35 <thead>
     36 <tr>
     37 <th>Code name</th>
     38 <th>Version</th>
     39 <th>API level</th>
     40 </tr>
     41 </thead>
     42 <tbody>
     43 <tr>
     44 <td>(no code name)</td>
     45 <td>1.0</td>
     46 <td>API level 1</td>
     47 </tr>
     48 <tr>
     49 <td>(no code name)</td>
     50 <td>1.1</td>
     51 <td>API level 2</td>
     52 </tr>
     53 <tr>
     54 <td>Cupcake</td>
     55 <td>1.5</td>
     56 <td>API level 3, NDK 1</td>
     57 </tr>
     58 <tr>
     59 <td>Donut</td>
     60 <td>1.6</td>
     61 <td>API level 4, NDK 2</td>
     62 </tr>
     63 <tr>
     64 <td>Eclair</td>
     65 <td>2.0</td>
     66 <td>API level 5</td>
     67 </tr>
     68 <tr>
     69 <td>Eclair</td>
     70 <td>2.0.1</td>
     71 <td>API level 6</td>
     72 </tr>
     73 <tr>
     74 <td>Eclair</td>
     75 <td>2.1</td>
     76 <td>API level 7, NDK 3</td>
     77 </tr>
     78 <tr>
     79 <td>Froyo</td>
     80 <td>2.2.x</td>
     81 <td>API level 8, NDK 4</td>
     82 </tr>
     83 <tr>
     84 <td>Gingerbread</td>
     85 <td>2.3 - 2.3.2</td>
     86 <td>API level 9, NDK 5</td>
     87 </tr>
     88 <tr>
     89 <td>Gingerbread</td>
     90 <td>2.3.3 - 2.3.7</td>
     91 <td>API level 10</td>
     92 </tr>
     93 <tr>
     94 <td>Honeycomb</td>
     95 <td>3.0</td>
     96 <td>API level 11</td>
     97 </tr>
     98 <tr>
     99 <td>Honeycomb</td>
    100 <td>3.1</td>
    101 <td>API level 12, NDK 6</td>
    102 </tr>
    103 <tr>
    104 <td>Honeycomb</td>
    105 <td>3.2.x</td>
    106 <td>API level 13</td>
    107 </tr>
    108 <tr>
    109 <td>Ice Cream Sandwich</td>
    110 <td>4.0.1 - 4.0.2</td>
    111 <td>API level 14, NDK 7</td>
    112 </tr>
    113 <tr>
    114 <td>Ice Cream Sandwich</td>
    115 <td>4.0.3 - 4.0.4</td>
    116 <td>API level 15, NDK 8</td>
    117 </tr>
    118 <tr>
    119 <td>Jelly Bean</td>
    120 <td>4.1.x</td>
    121 <td>API level 16</td>
    122 </tr>
    123 <tr>
    124 <td>Jelly Bean</td>
    125 <td>4.2.x</td>
    126 <td>API level 17</td>
    127 </tr>
    128 <tr>
    129 <td>Jelly Bean</td>
    130 <td>4.3</td>
    131 <td>API level 18</td>
    132 </tr>
    133 </tbody>
    134 </table>
    135 <p>Starting with Cupcake, individual builds are identified with a short
    136 build code, e.g. FRF85B.</p>
    137 <p>The first letter is the code name of the release family, e.g. F is
    138 Froyo.</p>
    139 <p>The second letter is a branch code that allows Google to identify
    140 the exact code branch that the build was made from, and R is by
    141 convention the primary release branch.</p>
    142 <p>The next letter and two digits are a date code. The letter counts
    143 quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two
    144 digits count days within the quarter, so F85 is June 24 2010.</p>
    145 <p>Finally, the last letter identifies individual versions related to
    146 the same date code, sequentially starting with A; A is actually
    147 implicit and usually omitted for brevity.</p>
    148 <p>The date code is not guaranteed to be the exact date at which a build
    149 was made, and it is common that minor variations added to an existing
    150 build re-use the same date code as that existing build.</p>
    151 
    152 <h2 id="source-code-tags-and-builds">Source Code Tags and Builds</h2>
    153 <p>Starting with Donut, the exact list of tags and builds is in the
    154 following table:</p>
    155 <table>
    156 <thead>
    157 <tr>
    158 <th>Build</th>
    159 <th>Tag</th>
    160 <th>Notes</th>
    161 </tr>
    162 </thead>
    163 <tbody>
    164 <tr>
    165 <td>DRC83</td>
    166 <td>android-1.6_r1.1</td>
    167 <td>earliest Donut version, ADP1, ADP2</td>
    168 </tr>
    169 <tr>
    170 <td>DRC92</td>
    171 <td>android-1.6_r1.2</td>
    172 <td></td>
    173 </tr>
    174 <tr>
    175 <td>DRD08</td>
    176 <td>android-1.6_r1.3</td>
    177 <td></td>
    178 </tr>
    179 <tr>
    180 <td>DRD20</td>
    181 <td>android-1.6_r1.4</td>
    182 <td></td>
    183 </tr>
    184 <tr>
    185 <td>DMD64</td>
    186 <td>android-1.6_r1.5</td>
    187 <td>latest Donut version</td>
    188 </tr>
    189 <tr>
    190 <td>ESD20</td>
    191 <td>android-2.0_r1</td>
    192 <td>earliest Eclair version</td>
    193 </tr>
    194 <tr>
    195 <td>ESD56</td>
    196 <td>android-2.0.1_r1</td>
    197 <td></td>
    198 </tr>
    199 <tr>
    200 <td>ERD79</td>
    201 <td>android-2.1_r1</td>
    202 <td>Nexus One</td>
    203 </tr>
    204 <tr>
    205 <td>ERE27</td>
    206 <td>android-2.1_r2</td>
    207 <td>Nexus One</td>
    208 </tr>
    209 <tr>
    210 <td>EPE54B</td>
    211 <td>android-2.1_r2.1p</td>
    212 <td>Nexus One</td>
    213 </tr>
    214 <tr>
    215 <td>ESE81</td>
    216 <td>android-2.1_r2.1s</td>
    217 <td></td>
    218 </tr>
    219 <tr>
    220 <td>EPF21B</td>
    221 <td>android-2.1_r2.1p2</td>
    222 <td>latest Eclair version</td>
    223 </tr>
    224 <tr>
    225 <td>FRF85B</td>
    226 <td>android-2.2_r1</td>
    227 <td>earliest Froyo version, Nexus One</td>
    228 </tr>
    229 <tr>
    230 <td>FRF91</td>
    231 <td>android-2.2_r1.1</td>
    232 <td>Nexus One</td>
    233 </tr>
    234 <tr>
    235 <td>FRG01B</td>
    236 <td>android-2.2_r1.2</td>
    237 <td></td>
    238 </tr>
    239 <tr>
    240 <td>FRG22D</td>
    241 <td>android-2.2_r1.3</td>
    242 <td></td>
    243 </tr>
    244 <tr>
    245 <td>FRG83</td>
    246 <td>android-2.2.1_r1</td>
    247 <td>Nexus One</td>
    248 </tr>
    249 <tr>
    250 <td>FRG83D</td>
    251 <td>android-2.2.1_r2</td>
    252 <td>Nexus One</td>
    253 </tr>
    254 <tr>
    255 <td>FRG83G</td>
    256 <td>android-2.2.2_r1</td>
    257 <td>Nexus One</td>
    258 </tr>
    259 <tr>
    260 <td>FRK76</td>
    261 <td>android-2.2.3_r1</td>
    262 <td></td>
    263 </tr>
    264 <tr>
    265 <td>FRK76C</td>
    266 <td>android-2.2.3_r2</td>
    267 <td>latest Froyo version</td>
    268 </tr>
    269 <tr>
    270 <td>GRH55</td>
    271 <td>android-2.3_r1</td>
    272 <td>earliest Gingerbread version, Nexus S</td>
    273 </tr>
    274 <tr>
    275 <td>GRH78</td>
    276 <td>android-2.3.1_r1</td>
    277 <td>Nexus S</td>
    278 </tr>
    279 <tr>
    280 <td>GRH78C</td>
    281 <td>android-2.3.2_r1</td>
    282 <td>Nexus S</td>
    283 </tr>
    284 <tr>
    285 <td>GRI40</td>
    286 <td>android-2.3.3_r1</td>
    287 <td>Nexus One, Nexus S</td>
    288 </tr>
    289 <tr>
    290 <td>GRI54</td>
    291 <td>android-2.3.3_r1.1</td>
    292 <td>Nexus S</td>
    293 </tr>
    294 <tr>
    295 <td>GRJ06D</td>
    296 <td>android-2.3.4_r0.9</td>
    297 <td>Nexus S 4G</td>
    298 </tr>
    299 <tr>
    300 <td>GRJ22</td>
    301 <td>android-2.3.4_r1</td>
    302 <td>Nexus One, Nexus S, Nexus S 4G</td>
    303 </tr>
    304 <tr>
    305 <td>GRJ90</td>
    306 <td>android-2.3.5_r1</td>
    307 <td>Nexus S 4G</td>
    308 </tr>
    309 <tr>
    310 <td>GRK39C</td>
    311 <td>android-2.3.6_r0.9</td>
    312 <td>Nexus S</td>
    313 </tr>
    314 <tr>
    315 <td>GRK39F</td>
    316 <td>android-2.3.6_r1</td>
    317 <td>Nexus One, Nexus S</td>
    318 </tr>
    319 <tr>
    320 <td>GWK74</td>
    321 <td>android-2.3.7_r1</td>
    322 <td>latest Gingerbread version, Nexus S 4G</td>
    323 </tr>
    324 <tr>
    325 <td>ITL41D</td>
    326 <td>android-4.0.1_r1</td>
    327 <td>earliest Ice Cream Sandwich version, Galaxy Nexus</td>
    328 </tr>
    329 <tr>
    330 <td>ITL41D</td>
    331 <td>android-4.0.1_r1.1</td>
    332 <td>Galaxy Nexus</td>
    333 </tr>
    334 <tr>
    335 <td>ITL41F</td>
    336 <td>android-4.0.1_r1.2</td>
    337 <td>Galaxy Nexus</td>
    338 </tr>
    339 <tr>
    340 <td>ICL53F</td>
    341 <td>android-4.0.2_r1</td>
    342 <td>Galaxy Nexus</td>
    343 </tr>
    344 <tr>
    345 <td>IML74K</td>
    346 <td>android-4.0.3_r1</td>
    347 <td>Nexus S</td>
    348 </tr>
    349 <tr>
    350 <td>IML77</td>
    351 <td>android-4.0.3_r1.1</td>
    352 <td></td>
    353 </tr>
    354 <tr>
    355 <td>IMM76</td>
    356 <td>android-4.0.4_r1</td>
    357 <td></td>
    358 </tr>
    359 <tr>
    360 <td>IMM76D</td>
    361 <td>android-4.0.4_r1.1</td>
    362 <td>Nexus S, Nexus S 4G, Galaxy Nexus</td>
    363 </tr>
    364 <tr>
    365 <td>IMM76I</td>
    366 <td>android-4.0.4_r1.2</td>
    367 <td>Galaxy Nexus</td>
    368 </tr>
    369 <tr>
    370 <td>IMM76K</td>
    371 <td>android-4.0.4_r2</td>
    372 <td>Galaxy Nexus</td>
    373 </tr>
    374 <tr>
    375 <td>IMM76L</td>
    376 <td>android-4.0.4_r2.1</td>
    377 <td>latest Ice Cream Sandwich version</td>
    378 </tr>
    379 <tr>
    380 <td>JRO03C</td>
    381 <td>android-4.1.1_r1</td>
    382 <td>earliest Jelly Bean version, Galaxy Nexus</td>
    383 </tr>
    384 <tr>
    385 <td>JRO03D</td>
    386 <td>android-4.1.1_r1.1</td>
    387 <td>Nexus 7</td>
    388 </tr>
    389 <tr>
    390 <td>JRO03E</td>
    391 <td>android-4.1.1_r2</td>
    392 <td>Nexus S</td>
    393 </tr>
    394 <tr>
    395 <td>JRO03H</td>
    396 <td>android-4.1.1_r3</td>
    397 <td></td>
    398 </tr>
    399 <tr>
    400 <td>JRO03L</td>
    401 <td>android-4.1.1_r4</td>
    402 <td>Nexus S</td>
    403 </tr>
    404 <tr>
    405 <td>JRO03O</td>
    406 <td>android-4.1.1_r5</td>
    407 <td>Galaxy Nexus</td>
    408 </tr>
    409 <tr>
    410 <td>JRO03R</td>
    411 <td>android-4.1.1_r6</td>
    412 <td>Nexus S 4G</td>
    413 </tr>
    414 <tr>
    415 <td>JRO03S</td>
    416 <td>android-4.1.1_r6.1</td>
    417 <td>Nexus 7</td>
    418 </tr>
    419 
    420 <tr>
    421 <td>JZO54K</td>
    422 <td>android-4.1.2_r1</td>
    423 <td>Nexus S, Galaxy Nexus, Nexus 7</td>
    424 </tr>
    425 
    426 <tr>
    427 <td>JZO54L</td>
    428 <td>android-4.1.2_r2</td>
    429 <td></td>
    430 </tr>
    431 
    432 <tr>
    433 <td>JZO54M</td>
    434 <td>android-4.1.2_r2.1</td>
    435 <td></td>
    436 </tr>
    437 
    438 <tr>
    439 <td>JOP40C</td>
    440 <td>android-4.2_r1</td>
    441 <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
    442 </tr>
    443 
    444 <tr>
    445 <td>JOP40D</td>
    446 <td>android-4.2.1_r1</td>
    447 <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
    448 </tr>
    449 
    450 <tr>
    451 <td>JOP40F</td>
    452 <td>android-4.2.1_r1.1</td>
    453 <td>Nexus 10</td>
    454 </tr>
    455 
    456 <tr>
    457 <td>JOP40G</td>
    458 <td>android-4.2.1_r1.2</td>
    459 <td>Nexus 4</td>
    460 </tr>
    461 
    462 <tr>
    463 <td>JDQ39</td>
    464 <td>android-4.2.2_r1</td>
    465 <td>Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10</td>
    466 </tr>
    467 
    468 <tr>
    469 <td>JDQ39B</td>
    470 <td>android-4.2.2_r1.1</td>
    471 <td>Nexus 7</td>
    472 </tr>
    473 
    474 <tr>
    475 <td>JDQ39E</td>
    476 <td>android-4.2.2_r1.1</td>
    477 <td>Nexus 4</td>
    478 </tr>
    479 
    480 <tr>
    481 <td>JWR66L</td>
    482 <td>android-4.3_r0.9</td>
    483 <td>Nexus 7</td>
    484 </tr>
    485 
    486 <tr>
    487 <td>JWR66N</td>
    488 <td>android-4.3_r0.9.1</td>
    489 <td>Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10</td>
    490 </tr>
    491 
    492 <tr>
    493 <td>JWR66V</td>
    494 <td>android-4.3_r1</td>
    495 <td>Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10</td>
    496 </tr>
    497 
    498 <tr>
    499 <td>JSR78D</td>
    500 <td>android-4.3_r2</td>
    501 <td>Nexus 7 (deb)</td>
    502 </tr>
    503 
    504 <tr>
    505 <td>JSS15J</td>
    506 <td>android-4.3_r2.1</td>
    507 <td>latest Jelly Bean version, Nexus 7 (flo/deb)</td>
    508 </tr>
    509 
    510 </tbody>
    511 </table>
    512 <p>The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev,
    513 jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev
    514 represent development
    515 branches that do not exactly match configurations that were tested
    516 by Google. They might contain a variety of changes in addition to
    517 the official tagged releases, and those haven't been as thoroughly
    518 tested.</p>
    519 
    520 <h2 id="honeycomb-gpl-modules">Honeycomb GPL Modules</h2>
    521 <p>For Honeycomb, the entire platform source code isn't available.
    522 However, the parts of Honeycomb licensed under the GPL and LGPL
    523 are available under the following tags:</p>
    524 <table>
    525 <thead>
    526 <tr>
    527 <th>Build</th>
    528 <th>Tag</th>
    529 <th>Notes</th>
    530 </tr>
    531 </thead>
    532 <tbody>
    533 <tr>
    534 <td>HRI39</td>
    535 <td>android-3.0_r1</td>
    536 <td>earliest Honeycomb version</td>
    537 </tr>
    538 <tr>
    539 <td>HRI66</td>
    540 <td>android-3.0_r1.1</td>
    541 <td></td>
    542 </tr>
    543 <tr>
    544 <td>HWI69</td>
    545 <td>android-3.0_r1.2</td>
    546 <td></td>
    547 </tr>
    548 <tr>
    549 <td>HRI83</td>
    550 <td>android-3.0_r1.3</td>
    551 <td></td>
    552 </tr>
    553 <tr>
    554 <td>HMJ37</td>
    555 <td>android-3.1_r1</td>
    556 <td></td>
    557 </tr>
    558 <tr>
    559 <td>HTJ85B</td>
    560 <td>android-3.2_r1</td>
    561 <td></td>
    562 </tr>
    563 <tr>
    564 <td>HTK55D</td>
    565 <td>android-3.2.1_r1</td>
    566 <td></td>
    567 </tr>
    568 <tr>
    569 <td>HTK75D</td>
    570 <td>android-3.2.1_r2</td>
    571 <td></td>
    572 </tr>
    573 <tr>
    574 <td>HLK75C</td>
    575 <td>android-3.2.2_r1</td>
    576 <td></td>
    577 </tr>
    578 <tr>
    579 <td>HLK75D</td>
    580 <td>android-3.2.2_r2</td>
    581 <td></td>
    582 </tr>
    583 <tr>
    584 <td>HLK75F</td>
    585 <td>android-3.2.4_r1</td>
    586 <td></td>
    587 </tr>
    588 <tr>
    589 <td>HLK75H</td>
    590 <td>android-3.2.6_r1</td>
    591 <td>latest Honeycomb version</td>
    592 </tr>
    593 </tbody>
    594 </table>
    595 <p>There is no manifest that contains exactly those. However, there
    596 are manifests that allow building those components. The following
    597 commands work for 3.0_r1.1, and using other versions can be done by
    598 switching the git checkout paramater, and if necessary the -m parameter in
    599 repo init. The git checkout command outputs an error for the non-GPL
    600 projects, where it can't find the tag in question.</p>
    601 <pre><code>$ repo init -b master -m base-for-3.0-gpl.xml
    602 $ repo sync
    603 $ repo forall -c git checkout android-3.0_r1.1
    604 </code></pre>
    605 
    606