Android Browser versions

Orde Saunders' avatarUpdated: Published: by Orde Saunders

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.

Android codename

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.

Android version

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.

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.

Update 2015-03-19: API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.

WebKit version

Whilst a browser is more than just the rendering engine - the JavaScript engine plays a significant part - I've not got data for the JavaScript engine so I've looked at the WebKit version as an indicator to see if the browser had changed. I don't have complete data for this but the WebKit version is updated much less frequently than anything else but still not to a set pattern.

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 <audio> and <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?

With Android 4.4 it seems that Browser is not included but vendors can recreate Browser using a web view. But then again, in Android 4.4 the WebView is significantly different from previous versions of Android since it is now based on Chromium and the V8 JavaScript engine. I think that this now means we can mark the official end of Browser in Android at version 4.3 (Jellybean) [API 18].

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 30.0.0.0. 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 System WebView update

Android Browser version data

DateAPI VersionAndroid versionCodenameWebKit
2009-04-3031.5Cupcake528.5
2009-09-1541.6Donut528.5
2009-09-2652.0Eclair530.17
2009-12-0362.0.1Eclair530.17
2010-01-1272.1Eclair530.17
2010-05-2082.2Froyo533.1
2010-12-0692.3Gingerbread?
2011-02-09102.3.3Gingerbread533.1
2011-02-22113.0Honeycomb534.13
2011-05-10123.1Honeycomb534.13
2011-07-15133.2Honeycomb534.13
2011-10-19144.0Ice cream sandwich534.30
2011-12-16154.0.3Ice cream sandwich534.30
2012-07-09164.1Jellybean534.30
2012-11-13174.2Jellybean534.30
2013-07-24184.3Jellybean534.30
2013-07-24194.4KitKat537.36
2014-07-14204.4wKitKat for wearablesN/A
2014-11-03215.0Lollipop537.36 (Chrome 37)
2015-03-09225.1Lollipop?

Conclusion

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.