Muchas personas se refieren a las versiones de Android por "nombres en clave" en lugar de números de versión (por ejemplo, Android "Gingerbread"). ¿Cuáles son los nombres de las distintas versiones del sistema operativo Android y cómo se eligen esos nombres?
Cada versión de Android desde la 1.5 se ha desarrollado con un nombre en clave específico. Estos nombres en clave se eligen por orden alfabético y, hasta ahora, todos han sido artículos de postre (o, genéricamente, alimentos dulces/sugerentes). Algunos nombres en clave están asociados a más de un número de versión, mientras que otros se limitan a uno solo, y actualmente se desconoce la razón de esta incoherencia. La nomenclatura suele corresponder a los cambios en los niveles de la API para desarrolladores, pero esto no siempre es cierto (ejemplo: 3.0 y 3.1 son ambas "Honeycomb" pero tienen diferentes niveles de API).
Se utilizan los siguientes nombres para las versiones de Android existentes en la actualidad. Tenga en cuenta que las versiones 1.0 y 1.1 no fueron nombradas públicamente. Sin embargo, Android 1.1 se denominó internamente como "Petit-Four" (señalado en Traroth's answer, confirmado aquí):
Pastel:
Donut:
Eclair:
Froyo: (abreviatura de "yogur helado")
Pan de jengibre:
Honeycomb:
Ice Cream Sandwich:
Jelly Bean:
KitKat:
Lollipop:
Marshmallow:
Nougat: (nombre oficial: https://twitter.com/Android/status/748642375908589568)
Oreo:
Pie:
Eldarerathis lo ha resumido muy bien. Para añadir algunas cosas: La versión 1.1 fue llamada internamente Petit Four por Google, y así' es como empezó todo. Google instala un pastelito gigante en su jardín de Mountain View cada vez que se va a lanzar una nueva versión.
Puedes ver fotos de ese despliegue en diferentes etapas aquí:
Donut, logotipo de Android, Nexus one, Cupcake, Eclair
Honeycomb]2Froyo
Gingerbread, Icecream Sandwich, Honeycomb
Kit-Kat]5 KitKat, Jellybean
Lollipop]6 Lollipop
Marshmallow
Nougat]8 Nougat
[] Oreo
https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels contiene una tabla que relaciona todo el lío de nombres, extracto:
Platform Version API Level VERSION_CODE
Android 6.0 23 M
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
...