Logo Icon Logo
A Crowd-sourced Cookbook on Writing Great Android® Apps
GitHub logo Twitter logo OReilly Book Cover Art
Learning About Android ReleasesBack to Android Cookbook Home | Up to Chapter: Getting Started

Author: Ian Darwin ('idarwin')
In Published Edition? No
FormatLanguage: WikiFormat

Learning About Android Releases

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 -

See Also