Many people refer to Android versions by "codenames" rather than version numbers (e.g. Android "Gingerbread"). What are the names of the various versions of the Android OS, and how are these names chosen?
Each version of Android since 1.5 has been developed with a specific codename. These codenames are chosen alphabetically, and have thus far all been dessert items (or, generically, sweet/sugary foods). Some codenames are associated with more than one version number, while others are limited to only a specific one, and the reason for this inconsistency is not currently known. The naming typically appears to correspond to changes in the developer API levels, but this is not always true (example: 3.0 and 3.1 are both "Honeycomb" but they have different API levels).
The following names are used for the currently existing Android releases. Note that versions 1.0 and 1.1 were not publicly named. However, Android 1.1 was internally referred to as "Petit-Four" (noted in Traroth's answer, confirmed here):
Froyo: (short for "frozen yogurt")
Ice Cream Sandwich:
Nougat: (official name , https://twitter.com/Android/status/748642375908589568)
Eldarerathis summarized it very well. To add some things: The 1.1 version was internally called Petit Four by Google, and that's how it all began. Google is installing a giant pastry on their lawn at Mountain View each time a new version is about to be launched.
You can see pictures of that display at different stages here:
Donut, Android logo, Nexus one, Cupcake, Eclair
Froyo, Gingerbread, Icecream Sandwich
Gingerbread, Icecream Sandwich, Jelly Bean
https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels contains a table that links all the naming mess, excerpt:
protected by Community♦ Jan 24 '13 at 14:50
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?