android - See Build Numbers for a full listing of branches you may choose from
http://source.android.com/source/build-numbers.html
At a high level, Android development happens around families ofreleases, which use code names ordered alphabetically after tastytreats.
Platform Codenames, Versions, API Levels, and NDK Releases
The code names match the following version numbers, along withAPI levels and NDK releases provided for convenience:
Code name | Version | API level |
---|---|---|
Marshmallow | 6.0 | API level 23 |
Lollipop | 5.1 | API level 22 |
Lollipop | 5.0 | API level 21 |
KitKat | 4.4 - 4.4.4 | API level 19 |
Jelly Bean | 4.3.x | API level 18 |
Jelly Bean | 4.2.x | API level 17 |
Jelly Bean | 4.1.x | API level 16 |
Ice Cream Sandwich | 4.0.3 - 4.0.4 | API level 15, NDK 8 |
Ice Cream Sandwich | 4.0.1 - 4.0.2 | API level 14, NDK 7 |
Honeycomb | 3.2.x | API level 13 |
Honeycomb | 3.1 | API level 12, NDK 6 |
Honeycomb | 3.0 | API level 11 |
Gingerbread | 2.3.3 - 2.3.7 | API level 10 |
Gingerbread | 2.3 - 2.3.2 | API level 9, NDK 5 |
Froyo | 2.2.x | API level 8, NDK 4 |
Eclair | 2.1 | API level 7, NDK 3 |
Eclair | 2.0.1 | API level 6 |
Eclair | 2.0 | API level 5 |
Donut | 1.6 | API level 4, NDK 2 |
Cupcake | 1.5 | API level 3, NDK 1 |
(no code name) | 1.1 | API level 2 |
(no code name) | 1.0 | API level 1 |
Starting with Cupcake, individual builds are identified with a shortbuild code, e.g. FRF85B.
The first letter is the code name of the release family, e.g. F isFroyo.
The second letter is a branch code that allows Google to identifythe exact code branch that the build was made from, and R is byconvention the primary release branch.
The next letter and two digits are a date code. The letter countsquarters, with A being Q1 2009. Therefore, F is Q2 2010. The twodigits count days within the quarter, so F85 is June 24 2010.
Finally, the last letter identifies individual versions related tothe same date code, sequentially starting with A; A is actuallyimplicit and usually omitted for brevity.
The date code is not guaranteed to be the exact date at which a buildwas made, and it is common that minor variations added to an existingbuild 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 thefollowing table. Factory images and binaries for Nexus devices can be downloaded from:
https://developers.google.com/android/nexus/images
https://developers.google.com/android/nexus/drivers
Build | Branch | Version | Supported devices |
---|---|---|---|
MOB30M | android-6.0.1_r46 | Marshmallow | Nexus 5, Nexus 6, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg), Nexus Player |
MTC19V | android-6.0.1_r45 | Marshmallow | Nexus 5X, Nexus 6P |
MOB30J | android-6.0.1_r43 | Marshmallow | Nexus 7 (flo/deb) |
MOB30I | android-6.0.1_r42 | Marshmallow | Nexus 6 |
MOB30H | android-6.0.1_r41 | Marshmallow | Nexus 5 |
MOB30G | android-6.0.1_r40 | Marshmallow | Nexus 9 (volantis/volantisg), Nexus Player |
MXC89H | android-6.0.1_r33 | Marshmallow | Pixel C |
MXC89F | android-6.0.1_r32 | Marshmallow | Pixel C |
MMB30J | android-6.0.1_r28 | Marshmallow | Nexus 6, Nexus 7 (deb) |
MTC19T | android-6.0.1_r25 | Marshmallow | Nexus 5X, Nexus 6P |
M5C14J | android-6.0.1_r31 | Marshmallow | Pixel C |
MOB30D | android-6.0.1_r30 | Marshmallow | Nexus 5, Nexus 6, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg), Nexus Player |
MHC19Q | android-6.0.1_r24 | Marshmallow | Nexus 5X, Nexus 6P |
MHC19J | android-6.0.1_r22 | Marshmallow | Nexus 5X |
MHC19I | android-6.0.1_r21 | Marshmallow | Nexus 6P |
MMB29X | android-6.0.1_r20 | Marshmallow | Nexus 5, Nexus 6, Nexus 7 (deb), Nexus 9 (volantisg) |
MXC14G | android-6.0.1_r18 | Marshmallow | Pixel C |
MMB29V | android-6.0.1_r17 | Marshmallow | Nexus 5, Nexus 5X, Nexus 6, Nexus 6P, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg) |
MXB48T | android-6.0.1_r16 | Marshmallow | Pixel C |
MMB29U | android-6.0.1_r13 | Marshmallow | Nexus Player |
MMB29R | android-6.0.1_r12 | Marshmallow | Nexus 9 (volantis/volantisg) |
MMB29Q | android-6.0.1_r11 | Marshmallow | Nexus 5, Nexus 5X, Nexus 6, Nexus 6P, Nexus 7 (flo/deb) |
MMB29T | android-6.0.1_r10 | Marshmallow | Nexus Player |
MMB29S | android-6.0.1_r9 | Marshmallow | Nexus 5, Nexus 6, Nexus 9 (volantis/volantisg) |
MMB29P | android-6.0.1_r8 | Marshmallow | Nexus 5X, Nexus 6P |
MMB29O | android-6.0.1_r7 | Marshmallow | Nexus 7 (flo/deb) |
MXB48K | android-6.0.1_r5 | Marshmallow | Pixel C |
MXB48J | android-6.0.1_r4 | Marshmallow | Pixel C |
MMB29M | android-6.0.1_r3 | Marshmallow | Nexus 6P, Nexus Player |
MMB29K | android-6.0.1_r1 | Marshmallow | Nexus 5, Nexus 5X, Nexus 6, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg) |
MMB29N | android-6.0.0_r41 | Marshmallow | Nexus 6P |
MDB08M | android-6.0.0_r26 | Marshmallow | Nexus 5X, Nexus 6P |
MDB08L | android-6.0.0_r25 | Marshmallow | Nexus 5X, Nexus 6P |
MDB08K | android-6.0.0_r24 | Marshmallow | Nexus 6P |
MDB08I | android-6.0.0_r23 | Marshmallow | Nexus 5X |
MDA89E | android-6.0.0_r12 | Marshmallow | Nexus 5X |
MDA89D | android-6.0.0_r11 | Marshmallow | Nexus 6P |
MRA59B | android-6.0.0_r7 | Marshmallow | Nexus 7 (deb) |
MRA58X | android-6.0.0_r6 | Marshmallow | Nexus 6 |
MRA58V | android-6.0.0_r5 | Marshmallow | Nexus 7 (flo/deb) |
MRA58U | android-6.0.0_r4 | Marshmallow | Nexus 7 (flo) |
MRA58N | android-6.0.0_r2 | Marshmallow | Nexus 5, Nexus 6, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg), Nexus Player |
MRA58K | android-6.0.0_r1 | Marshmallow | Nexus 5, Nexus 6, Nexus 7 (flo/deb), Nexus 9 (volantis/volantisg), Nexus Player |
LMY49J | android-5.1.1_r37 | Lollipop | Nexus 10 |
LMY49I | android-5.1.1_r36 | Lollipop | Nexus 10 |
LMY49H | android-5.1.1_r35 | Lollipop | Nexus 10 |
LMY49G | android-5.1.1_r34 | Lollipop | Nexus 10 |
LMY49F | android-5.1.1_r33 | Lollipop | Nexus 9 (volantisg), Nexus 10 |
LMY48Z | android-5.1.1_r30 | Lollipop | Nexus 6, Nexus 7 (deb), Nexus 9 (volantisg), Nexus 10 |
LYZ28N | android-5.1.1_r28 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY48Y | android-5.1.1_r26 | Lollipop | Nexus 6 |
LMY48X | android-5.1.1_r25 | Lollipop | Nexus 6, Nexus 7 (deb), Nexus 9 (volantisg), Nexus 10 |
LMY48W | android-5.1.1_r24 | Lollipop | Nexus 6 |
LVY48H | android-5.1.1_r23 | Lollipop | Nexus 6 (For Project Fi ONLY) |
LYZ28M | android-5.1.1_r22 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY48U | android-5.1.1_r20 | Lollipop | Nexus 7 (deb) |
LMY48T | android-5.1.1_r19 | Lollipop | Nexus 4, Nexus 6, Nexus 9 (volantis/volantisg), Nexus 10 |
LVY48F | android-5.1.1_r18 | Lollipop | Nexus 6 (For Project Fi ONLY) |
LYZ28K | android-5.1.1_r17 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY48P | android-5.1.1_r16 | Lollipop | Nexus 7 (deb) |
LMY48N | android-5.1.1_r15 | Lollipop | Nexus Player |
LMY48M | android-5.1.1_r14 | Lollipop | Nexus 4, Nexus 5, Nexus 6, Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10 |
LVY48E | android-5.1.1_r13 | Lollipop | Nexus 6 (For Project Fi ONLY) |
LYZ28J | android-5.1.1_r12 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY48J | android-5.1.1_r10 | Lollipop | Nexus Player |
LMY48I | android-5.1.1_r9 | Lollipop | Nexus 4, Nexus 5, Nexus 6, Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10 |
LVY48C | android-5.1.1_r8 | Lollipop | Nexus 6 (For Project Fi ONLY) |
LMY48G | android-5.1.1_r6 | Lollipop | Nexus 7 (flo) |
LYZ28E | android-5.1.1_r5 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY47Z | android-5.1.1_r4 | Lollipop | Nexus 6 (All carriers except T-Mobile US) |
LMY48B | android-5.1.1_r3 | Lollipop | Nexus 5 |
LMY47X | android-5.1.1_r2 | Lollipop | Nexus 9 (volantis) |
LMY47V | android-5.1.1_r1 | Lollipop | Nexus 7 (flo/grouper), Nexus 10, Nexus Player |
LMY47O | android-5.1.0_r5 | Lollipop | Nexus 4, Nexus 7 (flo/deb) |
LMY47M | android-5.1.0_r4 | Lollipop | Nexus 6 (For T-Mobile ONLY) |
LMY47I | android-5.1.0_r3 | Lollipop | Nexus 5, Nexus 6 |
LMY47E | android-5.1.0_r2 | Lollipop | Nexus 6 |
LMY47D | android-5.1.0_r1 | Lollipop | Nexus 5, Nexus 6, Nexus 7 (grouper/tilapia), Nexus 10, Nexus Player |
LRX22L | android-5.0.2_r3 | Lollipop | Nexus 9 (volantis/volantisg) |
LRX22G | android-5.0.2_r1 | Lollipop | Nexus 7 (flo/deb/grouper/tilapia), Nexus 10 |
LRX22C | android-5.0.1_r1 | Lollipop | Nexus 4, Nexus 5, Nexus 6 (shamu), Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10 |
LRX21V | android-5.0.0_r7.0.1 | Lollipop | Nexus Player (fugu) |
LRX21T | android-5.0.0_r6.0.1 | Lollipop | Nexus 4 |
LRX21R | android-5.0.0_r5.1.0.1 | Lollipop | Nexus 9 (volantis) |
LRX21Q | android-5.0.0_r5.0.1 | Lollipop | Nexus 9 (volantis) |
LRX21P | android-5.0.0_r4.0.1 | Lollipop | Nexus 7 (flo/grouper), Nexus 10 |
LRX21O | android-5.0.0_r3.0.1 | Lollipop | Nexus 5 (hammerhead), Nexus 6 (shamu) |
LRX21M | android-5.0.0_r2.0.1 | Lollipop | Nexus Player (fugu) |
LRX21L | android-5.0.0_r1.0.1 | Lollipop | Nexus 9 (volantis) |
KTU84Q | android-4.4.4_r2 | KitKat | Nexus 5 (hammerhead) (For 2Degrees/NZ, Telstra/AUS and India ONLY) |
KTU84P | android-4.4.4_r1 | KitKat | Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10 |
KTU84M | android-4.4.3_r1.1 | KitKat | Nexus 5 (hammerhead) |
KTU84L | android-4.4.3_r1 | KitKat | Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10 |
KVT49L | android-4.4.2_r2 | KitKat | Nexus 7 (deb Verizon) |
KOT49H | android-4.4.2_r1 | KitKat | Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10 |
KOT49E | android-4.4.1_r1 | KitKat | Nexus 5, Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10 |
KRT16S | android-4.4_r1.2 | KitKat | Nexus 7 (flo/deb/grouper/tilapia), Nexus 4, Nexus 10 |
KRT16M | android-4.4_r1 | KitKat | Nexus 5 (hammerhead) |
JLS36I | android-4.3.1_r1 | Jelly Bean | Nexus 7 (deb) |
JLS36C | android-4.3_r3 | Jelly Bean | Nexus 7 (deb) |
JSS15R | android-4.3_r2.3 | Jelly Bean | Nexus 7 (flo) |
JSS15Q | android-4.3_r2.2 | Jelly Bean | Nexus 7 (flo) |
JSS15J | android-4.3_r2.1 | Jelly Bean | Nexus 7 (flo/deb) |
JSR78D | android-4.3_r2 | Jelly Bean | Nexus 7 (deb) |
JWR66Y | android-4.3_r1.1 | Jelly Bean | Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10 |
JWR66V | android-4.3_r1 | Jelly Bean | Galaxy Nexus, Nexus 7 (grouper/tilapia), Nexus 4, Nexus 10 |
JWR66N | android-4.3_r0.9.1 | Jelly Bean | Galaxy Nexus, Nexus 7 (grouper/tilapia/flo), Nexus 4, Nexus 10 |
JWR66L | android-4.3_r0.9 | Jelly Bean | Nexus 7 |
JDQ39E | android-4.2.2_r1.2 | Jelly Bean | Nexus 4 |
JDQ39B | android-4.2.2_r1.1 | Jelly Bean | Nexus 7 |
JDQ39 | android-4.2.2_r1 | Jelly Bean | Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10 |
JOP40G | android-4.2.1_r1.2 | Jelly Bean | Nexus 4 |
JOP40F | android-4.2.1_r1.1 | Jelly Bean | Nexus 10 |
JOP40D | android-4.2.1_r1 | Jelly Bean | Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10 |
JOP40C | android-4.2_r1 | Jelly Bean | Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10 |
JZO54M | android-4.1.2_r2.1 | Jelly Bean | |
JZO54L | android-4.1.2_r2 | Jelly Bean | |
JZO54K | android-4.1.2_r1 | Jelly Bean | Nexus S, Galaxy Nexus, Nexus 7 |
JRO03S | android-4.1.1_r6.1 | Jelly Bean | Nexus 7 |
JRO03R | android-4.1.1_r6 | Jelly Bean | Nexus S 4G |
JRO03O | android-4.1.1_r5 | Jelly Bean | Galaxy Nexus |
JRO03L | android-4.1.1_r4 | Jelly Bean | Nexus S |
JRO03H | android-4.1.1_r3 | Jelly Bean | |
JRO03E | android-4.1.1_r2 | Jelly Bean | Nexus S |
JRO03D | android-4.1.1_r1.1 | Jelly Bean | Nexus 7 |
JRO03C | android-4.1.1_r1 | Jelly Bean | Galaxy Nexus |
IMM76L | android-4.0.4_r2.1 | Ice Cream Sandwich | |
IMM76K | android-4.0.4_r2 | Ice Cream Sandwich | Galaxy Nexus |
IMM76I | android-4.0.4_r1.2 | Ice Cream Sandwich | Galaxy Nexus |
IMM76D | android-4.0.4_r1.1 | Ice Cream Sandwich | Nexus S, Nexus S 4G, Galaxy Nexus |
IMM76 | android-4.0.4_r1 | Ice Cream Sandwich | |
IML77 | android-4.0.3_r1.1 | Ice Cream Sandwich | |
IML74K | android-4.0.3_r1 | Ice Cream Sandwich | Nexus S |
ICL53F | android-4.0.2_r1 | Ice Cream Sandwich | Galaxy Nexus |
ITL41F | android-4.0.1_r1.2 | Ice Cream Sandwich | Galaxy Nexus |
ITL41D | android-4.0.1_r1.1 | Ice Cream Sandwich | Galaxy Nexus |
ITL41D | android-4.0.1_r1 | Ice Cream Sandwich | Galaxy Nexus |
GWK74 | android-2.3.7_r1 | Gingerbread | Nexus S 4G |
GRK39F | android-2.3.6_r1 | Gingerbread | Nexus One, Nexus S |
GRK39C | android-2.3.6_r0.9 | Gingerbread | Nexus S |
GRJ90 | android-2.3.5_r1 | Gingerbread | Nexus S 4G |
GRJ22 | android-2.3.4_r1 | Gingerbread | Nexus One, Nexus S, Nexus S 4G |
GRJ06D | android-2.3.4_r0.9 | Gingerbread | Nexus S 4G |
GRI54 | android-2.3.3_r1.1 | Gingerbread | Nexus S |
GRI40 | android-2.3.3_r1 | Gingerbread | Nexus One, Nexus S |
GRH78C | android-2.3.2_r1 | Gingerbread | Nexus S |
GRH78 | android-2.3.1_r1 | Gingerbread | Nexus S |
GRH55 | android-2.3_r1 | Gingerbread | earliest Gingerbread version, Nexus S |
FRK76C | android-2.2.3_r2 | Froyo | |
FRK76 | android-2.2.3_r1 | Froyo | |
FRG83G | android-2.2.2_r1 | Froyo | Nexus One |
FRG83D | android-2.2.1_r2 | Froyo | Nexus One |
FRG83 | android-2.2.1_r1 | Froyo | Nexus One |
FRG22D | android-2.2_r1.3 | Froyo | |
FRG01B | android-2.2_r1.2 | Froyo | |
FRF91 | android-2.2_r1.1 | Froyo | Nexus One |
FRF85B | android-2.2_r1 | Froyo | Nexus One |
EPF21B | android-2.1_r2.1p2 | Eclair | |
ESE81 | android-2.1_r2.1s | Eclair | |
EPE54B | android-2.1_r2.1p | Eclair | Nexus One |
ERE27 | android-2.1_r2 | Eclair | Nexus One |
ERD79 | android-2.1_r1 | Eclair | Nexus One |
ESD56 | android-2.0.1_r1 | Eclair | |
ESD20 | android-2.0_r1 | Eclair | |
DMD64 | android-1.6_r1.5 | Donut | |
DRD20 | android-1.6_r1.4 | ||
DRD08 | android-1.6_r1.3 | ||
DRC92 | android-1.6_r1.2 |
The branches froyo, gingerbread, ics-mr0, ics-mr1, jb-dev,jb-mr1-dev, jb-mr1.1-dev, jb-mr2-dev, kitkat-devrepresent developmentbranches that do not exactly match configurations that were testedby Google. They might contain a variety of changes in addition tothe official tagged releases, and those haven't been as thoroughlytested.
To differentiate between releases, you may obtain a list of changesassociated with each project by issuing the following command and passing itthe two branch tags:
$ repo forall -pc 'git log --no-merges --oneline branch-1..branch-2'
For example:
$ repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1'
And to output to a text file:
repo forall -pc 'git log --no-merges --oneline android-4.4.2_r2..android-4.4.2_r1' > /tmp/android-4.4.2_r2-android-4.4.2_r1-diff.txt
Honeycomb GPL Modules
For Honeycomb, the entire platform source code isn't available.However, the parts of Honeycomb licensed under the GPL and LGPLare available under the following tags:
Build | Tag | Notes |
---|---|---|
HRI39 | android-3.0_r1 | earliest Honeycomb version |
HRI66 | android-3.0_r1.1 | |
HWI69 | android-3.0_r1.2 | |
HRI83 | android-3.0_r1.3 | |
HMJ37 | android-3.1_r1 | |
HTJ85B | android-3.2_r1 | |
HTK55D | android-3.2.1_r1 | |
HTK75D | android-3.2.1_r2 | |
HLK75C | android-3.2.2_r1 | |
HLK75D | android-3.2.2_r2 | |
HLK75F | android-3.2.4_r1 | |
HLK75H | android-3.2.6_r1 | latest Honeycomb version |
There is no manifest that contains exactly those. However, thereare manifests that allow building those components. The followingcommands work for 3.0_r1.1, and using other versions can be done byswitching the git checkout paramater, and if necessary the -m parameter inrepo init. The git checkout command outputs an error for the non-GPLprojects, 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