Skyler Kaufman | 4443691 | 2011-04-07 15:11:52 -0700 | [diff] [blame] | 1 | <!-- |
| 2 | Copyright 2010 The Android Open Source Project |
| 3 | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | you may not use this file except in compliance with the License. |
| 6 | You may obtain a copy of the License at |
| 7 | |
| 8 | http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | Unless required by applicable law or agreed to in writing, software |
| 11 | distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | See the License for the specific language governing permissions and |
| 14 | limitations under the License. |
| 15 | --> |
| 16 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 17 | # Codenames, Tags, and Build Numbers # |
| 18 | |
| 19 | At a high level, Android development happens around families of |
| 20 | releases, which use code names ordered alphabetically after tasty |
| 21 | treats. |
| 22 | |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 23 | ## Platform code names, versions, API levels, and NDK releases ## |
| 24 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 25 | The code names match the following version numbers, along with |
| 26 | API levels and NDK releases provided for convenience: |
| 27 | |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 28 | Code name | Version | API level |
| 29 | ---------------|--------------|------------ |
| 30 | (no code name) | 1.0 | API level 1 |
| 31 | (no code name) | 1.1 | API level 2 |
| 32 | Cupcake | 1.5 | API level 3, NDK 1 |
| 33 | Donut | 1.6 | API level 4, NDK 2 |
| 34 | Eclair | 2.0 | API level 5 |
| 35 | Eclair | 2.0.1 | API level 6 |
Jean-Baptiste Queru | 3a49c68 | 2011-05-09 09:29:18 -0700 | [diff] [blame] | 36 | Eclair | 2.1 (incl. 2.1-update 1) | API level 7, NDK 3 |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 37 | Froyo | 2.2.x | API level 8, NDK 4 |
| 38 | Gingerbread | 2.3 - 2.3.2 | API level 9, NDK 5 |
Jean-Baptiste Queru | 3a49c68 | 2011-05-09 09:29:18 -0700 | [diff] [blame] | 39 | Gingerbread | 2.3.3 - 2.3.4 | API level 10 |
| 40 | Honeycomb | 3.0 | API level 11 |
| 41 | Honeycomb | 3.1 | API level 12 |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 42 | |
| 43 | Starting with Cupcake, individual builds are identified with a short |
Jean-Baptiste Queru | e3dc1ac | 2011-06-23 13:29:03 -0700 | [diff] [blame] | 44 | build code, e.g. FRF85B. |
| 45 | |
| 46 | The first letter is the code name of the release family, e.g. F is |
| 47 | Froyo. |
| 48 | |
| 49 | The second letter is a branch code that allows Google to identify |
| 50 | the exact code branch that the build was made from, and R is by |
| 51 | convention the primary release branch. |
| 52 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 53 | The next letter and two digits are a date code. The letter counts |
| 54 | quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two |
| 55 | digits count days within the quarter, so F85 is June 24 2010. |
Jean-Baptiste Queru | e3dc1ac | 2011-06-23 13:29:03 -0700 | [diff] [blame] | 56 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 57 | Finally, the last letter identifies individual versions related to |
| 58 | the same date code, sequentially starting with A; A is actually |
Jean-Baptiste Queru | e3dc1ac | 2011-06-23 13:29:03 -0700 | [diff] [blame] | 59 | implicit and usually omitted for brevity. |
| 60 | |
| 61 | The date code is not guaranteed to be the exact date at which a build |
| 62 | was made, and it is common that minor variations added to an existing |
| 63 | build re-use the same date code as that existing build. |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 64 | |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 65 | ## Source code tags and builds ## |
| 66 | |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 67 | Starting with Donut, the exact list of tags and builds is in the |
| 68 | following table: |
| 69 | |
| 70 | Build | Tag | Notes |
| 71 | -------|--------------------|----------------------------------- |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 72 | DRC83 | android-1.6_r1.1 | earliest Donut version, ADP1, ADP2 |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 73 | DRC92 | android-1.6_r1.2 |
| 74 | DRD08 | android-1.6_r1.3 |
| 75 | DRD20 | android-1.6_r1.4 |
| 76 | DMD64 | android-1.6_r1.5 | latest Donut version |
| 77 | ESD20 | android-2.0_r1 | earliest Eclair version |
| 78 | ESD56 | android-2.0.1_r1 |
| 79 | ERD79 | android-2.1_r1 | Nexus One |
| 80 | ERE27 | android-2.1_r2 | Nexus One |
| 81 | EPE54B | android-2.1_r2.1p | Nexus One |
| 82 | ESE81 | android-2.1_r2.1s |
| 83 | EPF21B | android-2.1_r2.1p2 | latest Eclair version |
| 84 | FRF85B | android-2.2_r1 | earliest Froyo version, Nexus One |
| 85 | FRF91 | android-2.2_r1.1 | Nexus One |
| 86 | FRG01B | android-2.2_r1.2 |
| 87 | FRG22D | android-2.2_r1.3 |
| 88 | FRG83 | android-2.2.1_r1 | Nexus One |
| 89 | FRG83D | android-2.2.1_r2 | Nexus One |
| 90 | FRG83G | android-2.2.2_r1 | latest Froyo version, Nexus One |
| 91 | GRH55 | android-2.3_r1 | earliest Gingerbread version, Nexus S |
| 92 | GRH78 | android-2.3.1_r1 | Nexus S |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 93 | GRH78C | android-2.3.2_r1 | Nexus S |
Jean-Baptiste Queru | 3a49c68 | 2011-05-09 09:29:18 -0700 | [diff] [blame] | 94 | GRI40 | android-2.3.3_r1 | Nexus One, Nexus S |
Jean-Baptiste Queru | 1a6c0f0 | 2011-05-11 08:51:17 -0700 | [diff] [blame] | 95 | GRI54 | android-2.3.3_r1.1 | Nexus S |
| 96 | GRJ06D | android-2.3.4_r0.9 | Nexus S 4G |
Jean-Baptiste Queru | 3a49c68 | 2011-05-09 09:29:18 -0700 | [diff] [blame] | 97 | GRJ22 | android-2.3.4_r1 | latest Gingerbread version, Nexus One, Nexus S, Nexus S 4G |
Skyler Kaufman | 991ae4d | 2011-04-07 12:30:41 -0700 | [diff] [blame] | 98 | |
| 99 | The branches donut, eclair, froyo, gingerbread represent development |
| 100 | branches that do not exactly match configurations that were tested |
| 101 | by Google. They might contain a variety of changes in addition to |
| 102 | the official tagged releases, and those haven't been as thoroughly |
| 103 | tested. |
| 104 | |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 105 | ## Honeycomb GPL modules ## |
| 106 | |
| 107 | For Honeycomb, the entire platform source code isn't available. |
| 108 | However, the parts of Honeycomb licensed under the GPL and LGPL |
| 109 | are available under the following tags: |
| 110 | |
| 111 | Build | Tag | Notes |
| 112 | -------|--------------------|----------------------------------- |
Jean-Baptiste Queru | 3a49c68 | 2011-05-09 09:29:18 -0700 | [diff] [blame] | 113 | HRI39 | android-3.0_r1 | earliest Honeycomb version |
| 114 | HRI66 | android-3.0_r1.1 |
| 115 | HWI69 | android-3.0_r1.2 |
| 116 | HRI93 | android-3.0_r1.3 |
Jean-Baptiste Queru | c1f9266 | 2011-07-20 12:37:14 -0700 | [diff] [blame^] | 117 | HMJ37 | android-3.1_r1 |
| 118 | HTJ85B | android-3.2_r1 | latest Honeycomb version |
Jean-Baptiste Queru | 3b70aac | 2011-06-23 13:29:24 -0700 | [diff] [blame] | 119 | |
| 120 | There is no manifest that contains exactly those. However, there |
| 121 | are manifests that allow building those components. The following |
| 122 | commands work for 3.0_r1.1, and using other versions can be done by |
| 123 | switching the git checkout paramater, and if necessary the -b parameter in |
| 124 | repo init. |
| 125 | |
| 126 | $ repo init -b master -m 3.0-base.xml |
| 127 | $ repo sync |
| 128 | $ repo forall -c git checkout android-3.0_r1.1 |