Logo Icon Logo
A Crowd-sourced Cookbook on Writing Great Android® Apps
GitHub logo Twitter logo OReilly Book Cover Art

Learning About Android Releases

Author: Ian Darwin
Published? false
FormatLanguage: WikiFormat

Problem:

You keep hearing about Gingerbread, Ice Cream Sandwiches, and Jelly Beans, and need to know what it all means.

Discussion:

Android has gone through many versions in its lifetime. Each version has a version number, a code name, and an API level. The Version Number is a conventional versioning system like 1.5, 2.0, 2.1, 2.2, 2.3, 3.0 and so on. When the first digit of the version changes it's a big deal with lots of new API; when the second digit changes, it's more evolution than revolution (and occasionally a new codename), and if only the third digit changes, it's a minor change. The API levels are numbered monotonically. The code names are alphabetical and always refer to sweet foods. API levels 1 and 2 did not officially have code names.

Note that the Android system is backwards-compatible in the usual sense: an app built for an older release will run on a newer version of Android, but not vice versa. An app built for 1.5 should run without recompilation on Jelly Bean, for example.

Version Number API Level Name Date(*) Major Change / Notes
1.5 Cupcake 3 2009-04-30
1.6 Donut 4 2009-09-15
2.0 Eclair 5 2009-10-26
2.0.1 Eclair 6 ?
2.1 Eclair 7 ?
2.2 Froyo 8 2010-05-20
2.3 Gingerbread 10 2010-12-06 Most widely used release
3.0 Honeycomb 11 2011-02-22 Tablets only; source code release delayed
3.1 Honeycomb 12 ?
3.2 Honeycomb 13 ? Tablet, Fragment API
4.0 Ice Cream Sandwich 14 2011-10-19 Merge tablet and phone support
4.0.3 Ice Cream Sandwich 15 2011 ?
4.1, 4.2, 4.3 Jelly Bean 16,17,18 June 2012 ?
4.4.* KitKat 19,20 2013 Prior code-name Key Lime Pie
5.0 Lollipop 21,22 2015 Major
6.0 Marshmallow 23 Oct 2015 -
7.0 Nougat 24 2016 -
No records found.