blob: b3e3836f36cffbbe9f03b95174ab9d42d96b34a3 [file] [log] [blame] [view]
Skyler Kaufman991ae4d2011-04-07 12:30:41 -07001# Codenames, Tags, and Build Numbers #
2
3At a high level, Android development happens around families of
4releases, which use code names ordered alphabetically after tasty
5treats.
6
7The code names match the following version numbers, along with
8API levels and NDK releases provided for convenience:
9
10Code name | Version | API level
11---------------|---------|------------
12(no code name) | 1.0 | API level 1
13(no code name) | 1.1 | API level 2
14Cupcake | 1.5 | API level 3, NDK 1
15Donut | 1.6 | API level 4, NDK 2
16Eclair | 2.0 | API level 5
17Eclair | 2.0.1 | API level 6
18Eclair | 2.1 | API level 7, NDK 3
19Froyo | 2.2.x | API level 8, NDK 4
20Gingerbread | 2.3.x | API level 9, NDK 5
21
22Starting with Cupcake, individual builds are identified with a short
23build code, e.g. FRF85B. The first letter is the code name of the
24release family, e.g. F is Froyo. The second letter is a branch code
25that allows Google to identify the exact code branch that the build
26was made from, and R is by convention the primary release branch.
27The next letter and two digits are a date code. The letter counts
28quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two
29digits count days within the quarter, so F85 is June 24 2010.
30Finally, the last letter identifies individual versions related to
31the same date code, sequentially starting with A; A is actually
32implicit and usually omitted for brevity. The date code is not
33guaranteed to be the exact date at which a build was made, and it is
34common that minor variations added to an existing build re-use the
35same date code as that existing build.
36
37Starting with Donut, the exact list of tags and builds is in the
38following table:
39
40Build | Tag | Notes
41-------|--------------------|-----------------------------------
42DRC83 | android-1.6_r1.1 earliest Donut version, ADP1, ADP2
43DRC92 | android-1.6_r1.2
44DRD08 | android-1.6_r1.3
45DRD20 | android-1.6_r1.4
46DMD64 | android-1.6_r1.5 | latest Donut version
47ESD20 | android-2.0_r1 | earliest Eclair version
48ESD56 | android-2.0.1_r1
49ERD79 | android-2.1_r1 | Nexus One
50ERE27 | android-2.1_r2 | Nexus One
51EPE54B | android-2.1_r2.1p | Nexus One
52ESE81 | android-2.1_r2.1s
53EPF21B | android-2.1_r2.1p2 | latest Eclair version
54FRF85B | android-2.2_r1 | earliest Froyo version, Nexus One
55FRF91 | android-2.2_r1.1 | Nexus One
56FRG01B | android-2.2_r1.2
57FRG22D | android-2.2_r1.3
58FRG83 | android-2.2.1_r1 | Nexus One
59FRG83D | android-2.2.1_r2 | Nexus One
60FRG83G | android-2.2.2_r1 | latest Froyo version, Nexus One
61GRH55 | android-2.3_r1 | earliest Gingerbread version, Nexus S
62GRH78 | android-2.3.1_r1 | Nexus S
63GRH78C | android-2.3.2_r1 | latest Gingerbread version, Nexus S
64
65The branches donut, eclair, froyo, gingerbread represent development
66branches that do not exactly match configurations that were tested
67by Google. They might contain a variety of changes in addition to
68the official tagged releases, and those haven't been as thoroughly
69tested.
70