Android Projects

Android Development Books


Tags, Codenames and Build Numbers in Android

At a high level, Android development happens around families of releases, which use code names ordered alphabetically after tasty treats.

Platform code names, versions, API levels, and NDK releases

The code names match the following version numbers, along with API levels and NDK releases provided for convenience:
Code nameVersionAPI level
(no code name)1.0API level 1
(no code name)1.1API level 2
Cupcake1.5API level 3, NDK 1
Donut1.6API level 4, NDK 2
Eclair2.0API level 5
Eclair2.0.1API level 6
Eclair2.1 (incl. 2.1-update 1)API level 7, NDK 3
Froyo2.2.xAPI level 8, NDK 4
Gingerbread2.3 - 2.3.2API level 9, NDK 5
Gingerbread2.3.3 - 2.3.7API level 10
Honeycomb3.0API level 11
Honeycomb3.1API level 12
Honeycomb3.2 - 3.2.2API level 13
Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B.
The first letter is the code name of the release family, e.g. F is Froyo.
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.
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.
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.
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.

Source code tags and builds

Starting with Donut, the exact list of tags and builds is in the following table:
DRC83android-1.6_r1.1earliest Donut version, ADP1, ADP2
DMD64android-1.6_r1.5latest Donut version
ESD20android-2.0_r1earliest Eclair version
ERD79android-2.1_r1Nexus One
ERE27android-2.1_r2Nexus One
EPE54Bandroid-2.1_r2.1pNexus One
EPF21Bandroid-2.1_r2.1p2latest Eclair version
FRF85Bandroid-2.2_r1earliest Froyo version, Nexus One
FRF91android-2.2_r1.1Nexus One
FRG83android-2.2.1_r1Nexus One
FRG83Dandroid-2.2.1_r2Nexus One
FRG83Gandroid-2.2.2_r1latest Froyo version, Nexus One
GRH55android-2.3_r1earliest Gingerbread version, Nexus S
GRH78android-2.3.1_r1Nexus S
GRH78Candroid-2.3.2_r1Nexus S
GRI40android-2.3.3_r1Nexus One, Nexus S
GRI54android-2.3.3_r1.1Nexus S
GRJ06Dandroid-2.3.4_r0.9Nexus S 4G
GRJ22android-2.3.4_r1Nexus One, Nexus S, Nexus S 4G
GRJ90android-2.3.5_r1Nexus S 4G
GRK39Candroid-2.3.6_r0.9Nexus S
GRK39Fandroid-2.3.6_r1Nexus One, Nexus S
GWK74android-2.3.7_r1latest Gingerbread version, Nexus S 4G
The branches donut, eclair, froyo, gingerbread 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.

Honeycomb GPL modules

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:
HRI39android-3.0_r1earliest Honeycomb version
HLK75Dandroid-3.2.2_r2latest Honeycomb version
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.
$ repo init -b master -m base-for-3.0-gpl.xml
$ repo sync
$ repo forall -c git checkout android-3.0_r1.1
More information about this article go to:
Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Stumble Upon
  • Share to Evernote
  • Share to Blogger
  • Share to Email
  • Share to Yahoo Messenger
  • More...


Thanks for your comment

:) :-) :)) =)) :( :-( :(( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ :-$ (b) (f) x-) (k) (h) (c) cheer

Related Posts Plugin for WordPress, Blogger...
© Google Android Lovers
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0