Tek Eye Logo

Tek Eye

Android Versions Numbering and API Levels

The table in this article lists all the different versions of Android, starting with the earliest Application Programming Interface (API) level to the latest API level. Thus the list is from the oldest Android versions to the latest.

Android Since 2008

Android Versions by Name, Number, Availability and API Level

Each version of Android is given a code name. The code name is traditionally the name of a dessert, cake or sweet, e.g, Gingerbread, Froyo, Jelly Bean, etc. - as the sugar laden picture below shows. The table that follows lists the code names, version numbers, first release date and Application Programming Interface (API) versions, along with the equivalent Software Development Kit (SDK) constants (Build.VERSION_CODES). The Android version number on a device is normally found in the settings. Select Settings, then About Phone or About Device and look at the Firmware Version or Android Version entry.

Mmmmm Android

List of Android Versions and Their Names, API Level and Dates

Name Version Available API VERSION_CODES
N/A 1.0 October 2008 1 BASE
N/A 1.1 February 2009 2 BASE_1_1
Cupcake 1.5 May 2009 3 CUPCAKE
Donut 1.6 September 2009 4 DONUT
Eclair 2.0 November 2009 5 ECLAIR
Eclair 2.0.1 December 2009 6 ECLAIR_0_1
Eclair 2.1 January 2010 7 ECLAIR_MR1
Froyo 2.2 to 2.2.3 June 2010 8 FROYO
Gingerbread 2.3 to 2.3.2 November 2010 9 GINGERBREAD
Gingerbread 2.3.3 to 2.3.7 February 2011 10 GINGERBREAD_MR1
Honeycomb 3.0 February 2011 11 HONEYCOMB
Honeycomb 3.1 May 2011 12 HONEYCOMB_MR1
Honeycomb 3.2 to 3.2.6 June 2011 13 HONEYCOMB_MR2
Ice Cream Sandwich 4.0.1 to 4.0.2 October 2011 14 ICE_CREAM_SANDWICH
Ice Cream Sandwich 4.0.3 to 4.0.4 December 2011 15 ICE_CREAM_SANDWICH_MR1
Jelly Bean 4.1 to 4.1.1 July 2012 16 JELLY_BEAN
Jelly Bean 4.2 to 4.2.2 November 2012 17 JELLY_BEAN_MR1
Jelly Bean 4.3 July 2013 18 JELLY_BEAN_MR2
Kit Kat 4.4 to 4.4.4 October 2013 19 KITKAT
Kit Kat 4.4W to 4.4W.2 June 2014 20 KITKAT_WATCH
Lollipop 5.0 to 5.0.2 November 2014 21 LOLLIPOP
Lollipop 5.1 to 5.1.1 March 2015 22 LOLLIPOP_MR1
Marshmallow 6.0 to 6.0.1 October 2015 23 M

The above table was derived from the following sources (note that some release dates are derived from the Android developers documentation, the actual SDK availability may have been a little earlier, see the Wikipedia article):

When programming an App the API level is used to determine whether specific Android features are present or not. The API level can be read in versions prior to Donut (Cupcake, 1.1 and 1.0) using:

int APILevel = Integer.parseInt(Build.VERSION.SDK);

And from Donut onwards using:

int APILevel = Build.VERSION.SDK_INT;

(Build.VERSION.SDK is deprecated, i.e. it will be removed from the API at some future release).

When using functionality from a later API, but the App needs to support earlier Android versions, wrap the newer functionality in a separate class. Then check the API level before instantiating the class to prevent a VerifyError exception from occurring. See the article Support Multiple API Versions in Android.

Author:  Published:  Updated:  

markdown CMS Small Logo Icon ↓markdown↓ CMS is fast and simple. Build websites quickly and publish easily. For beginner to expert.

Articles on:

Android, HTML, ↓markdown↓ CMS, VPS, Computing, Computer History