| Version | SDK / API level | Version code | Codename | Year |
|---|---|---|---|---|
| Android 16 | Level 36 | BAKLAVA | Baklava | 2025 |
| Android 15 | Level 35 | VANILLA_ICE_CREAM | Vanilla Ice Cream | 2024 |
| Android 14 | Level 34 | UPSIDE_DOWN_CAKE | Upside Down Cake | 2023 |
| Android 13 | Level 33 | TIRAMISU | Tiramisu | 2022 |
| Android 12 | Level 32 Android 12L | S_V2 | Snow Cone | 2022 |
| Level 31 Android 12 | S | Snow Cone | 2021 | |
| Android 11 | Level 30 | R | Red Velvet Cake | 2020 |
| Android 10 | Level 29 | Q | Quince Tart | 2019 |
| Android 9 | Level 28 | P | Pie | 2018 |
| Android 8 | Level 27 Android 8.1 | O_MR1 | Oreo | 2017 |
| Level 26 Android 8.0 | O | Oreo | 2017 | |
| Android 7 | Level 25 Android 7.1 | N_MR1 | Nougat | 2016 |
| Level 24 Android 7.0 | N | Nougat | 2016 | |
| Android 6 | Level 23 | M | Marshmallow | 2015 |
| Android 5 | Level 22 Android 5.1 | LOLLIPOP_MR1 | Lollipop | 2015 |
| Level 21 Android 5.0 | LOLLIPOP, L | Lollipop | 2014 | |
| Android 4 | Level 20 Android 4.4W | KITKAT_WATCH | KitKat | 2014 |
| Level 19 Android 4.4 | KITKAT | KitKat | 2013 | |
| Level 18 Android 4.3 | JELLY_BEAN_MR2 | Jelly Bean | 2013 | |
| Level 17 Android 4.2 | JELLY_BEAN_MR1 | Jelly Bean | 2012 | |
| Level 16 Android 4.1 | JELLY_BEAN | Jelly Bean | 2012 | |
| Level 15 Android 4.0.3 – 4.0.4 | ICE_CREAM_SANDWICH_MR1 | Ice Cream Sandwich | 2011 | |
| Level 14 Android 4.0.1 – 4.0.2 | ICE_CREAM_SANDWICH | Ice Cream Sandwich | 2011 | |
| Android 3 | Level 13 Android 3.2 | HONEYCOMB_MR2 | Honeycomb | 2011 |
| Level 12 Android 3.1 | HONEYCOMB_MR1 | Honeycomb | 2011 | |
| Level 11 Android 3.0 | HONEYCOMB | Honeycomb | 2011 | |
| Android 2 | Level 10 Android 2.3.3 – 2.3.7 | GINGERBREAD_MR1 | Gingerbread | 2011 |
| Level 9 Android 2.3.0 – 2.3.2 | GINGERBREAD | Gingerbread | 2010 | |
| Level 8 Android 2.2 | FROYO | Froyo | 2010 | |
| Level 7 Android 2.1 | ECLAIR_MR1 | Eclair | 2010 | |
| Level 6 Android 2.0.1 | ECLAIR_0_1 | Eclair | 2009 | |
| Level 5 Android 2.0 | ECLAIR | Eclair | 2009 | |
| Android 1 | Level 4 Android 1.6 | DONUT | Donut | 2009 |
| Level 3 Android 1.5 | CUPCAKE | Cupcake | 2009 | |
| Level 2 Android 1.1 | BASE_1_1 | Petit Four | 2009 | |
| Level 1 Android 1.0 | BASE | None | 2008 |
Android 공식 문서에 따르면, Android 개발 버전은 맛있는 음식에서 영감을 얻어 알파벳순의 코드명으로 구성되었다고 한다.
맛있는 음식, 디저트 이름으로 되어 있는 것도 재미있지만 버전 순서가 알파벳순이라는 부분도 재미있다. 마지막 알파벳인 Z 이후에 어떤 문자로 이어갈지 또한 호기심을 자극한다.
알파벳 순이라면 A부터 시작하는 것이 당연한데 표에 보면 A는 존재하지 않는다. 어떤 블로그의 글 내용에 따르면 A는 "Apple pie", B는 "Banana bread"라는 것이다. 그러나 이것은 Android가 알파벳 순으로 디저트 이름을 붙이기 시작한 것과 관련된 가설이다.
Level2의 CodeName이 Petit Four로 존재함에도 이렇게 가설이 존재하는 이유는 Android의 공식적 첫 번째 디저트 이름은 Level3의 Cupcake으로 C부터 시작되었고, A와 B는 생략된 상태로 시작했다. 표에 기재된 Level2의 Petit Four는 개발자들 사이 내부적 비공식 CodeName이라는 이야기에서부터 시작되었다.
Petit Four는 작은 디저트인 프랑스식 작은 케이크를 의미하며, 어쩌면 이것이 Android 버전이 디저트 이름으로 시작된 유래인 것으로 보인다. 반대로 Level2의 Petit Four라는 이야기의 근원이 디저트 명명 규칙에 따라 이 이름이 사용되었다고 여겨지는 것으로 볼 수도 있다.
두가지 가설 중에 개인적으로는 전자가 더 그럴 뜻한 것 같다. Level2에서 가명으로 쓰던 디저트 이름이 Level3에서 공식화되면서 알파벳순 + 디저트 이름으로 시작된 것이 아닐까? 이런 내용에 뒷받침된다면 Level1에 대한 비공식 이름도 있을 듯하다. 알파벳이 끝나는 즈음에는 Level1에 대한 이야기를 들려줄지도 모르니 관심을 갖고 지켜봐야겠다.
알파벳 순서인데 A와 B가 없다는 이야기를 들었을 때 뭔가 유래가 있을 듯한데 아이러니한 기분이 들었다. 이렇게 찾아보기 전까지는 개발이 완료되면 테스트용으로 알파 테스트, 베타 테스트 진행하니까 A가 "Alpha"이고 B가 "Beta"가 아닐까 생각했었다.
그 과정에서 개발자들이 야근을 하며 자주 먹던 "Petit Four"를 코드네임으로 지칭하지 않았을까?
기존의 알파벳 전통에 따라 'W'로 시작하는 이름이 와야 했으나, 'B'인 Baklava가 된 정확한 이유는 알려지지 않았다. Google이 개발 프로세스를 변경하면서 A부터 다시 시작하기로 결정한 것으로 보여진다. (A부터 다시 시작하는 것은 안드로이드 운영체제의 전반적인 재정비 기조의 일환)
여기서도 의문인건 A가 아닌 B부터 시작이라는 점! A는 Android A로 남겨두려는걸까..?