Whilst looking into browser update cycles I started examining the various versions of the Android Browser. I wasn't expecting this to be simple but it ended up being more complex than I thought so I've summarised my findings here.
The main data points I've used for the comparison are outlined below.
The Android codename is probably the easiest thing to grasp when it comes to Android versions but, whilst it mostly matches the versioning system, it doesn't directly map to it - for example Eclair was used for Android 2.0 and 2.1, Honeycomb for 3.0, 3.1 and 3.2, and Jellybean for 4.1, 4.2 and 4.3.
The Android version is the next thing to look at, this follows a standard format of
major.minor.patch. However, this doesn't seem to tell the full story - there is also an API version.
I'm not entirely sure what the API version actually maps to in Android but it is both sequential and more fine grained than the main Android version so I've gone down to this level.
However, the WebKit version doesn't seem to be reliable as an indicator of the browser changing, the Can I Use... support tables for Android 2.2 and 2.3 indicate that
<video> support changed between these two versions yet the WebKit version did not. There were also two API versions covered by 2.3 and the data from Can I Use... doesn't indicate which one they are referring to when they say 2.3, but 2.3.3+ (API 10) is much more common than 2.3-2.3.2 (API 9).
Further complicating the situation I have two devices running different patch versions of Android 2.3 at API version 10 - 2.3.4 and 2.3.5. Despite having the same WebKit version, and somewhat counter intuitively, the Browser on the 2.3.4 device scores marginally higher than the 2.3.5 device on both the HTML5 and CSS3 tests.
Chrome for Android
As of Android 4.1, Chrome became the default browser. Or not. It's hard to say. The presence of Browser in an Android 4.2 version of Cyanogen shows that it's still possible to have the old default browser. Added to which Samsung and LG devices ship with different versions of Chrome (and others probably do too). At least one Android 4.1 device only ships with Browser and maybe some devices include Browser as well as Chrome?
Update 2014-04-15: Version 11 of Cyanogen is based on Android 4.4 and includes Browser which reports itself in the user agent string as Chrome 22.214.171.124. This fits with the release date of Chrome 30 making it the current version of Chrome when Android 4.4 was released.
Update 2015-01-19: Android 5 (Lollipop) now uses an updatable Chromium for the web view meaning that it can now benefit from updates independent of the operating system.
Android Browser version data
|Date||API Version||Android version||Codename||WebKit|
|2011-10-19||14||4.0||Ice cream sandwich||534.30|
|2011-12-16||15||4.0.3||Ice cream sandwich||534.30|
|2014-07-14||20||4.4w||KitKat for wearables||N/A|
|2014-11-03||21||5.0||Lollipop||537.36 (Chrome 37)|
There isn't any correlation between any of the data points and, even if there were, it's apparent this isn't the whole story. Essentially, don't try and make any assumptions about Android browsers based on any of the available data points - do your own testing.