If you’ve read our previous article on developing Android apps with Bluetooth Low Energy (Bluetooth Smart), you know that developing an Android App can be more complicated than iOS. Android has had known issues with BLE support, but recent bug fixes and features have helped. Still, you have to make the right decision.
One of the first decisions when developing your App is which version of Android to begin supporting. BLE in Android really started in Jelly Bean 4.3, but there’s a lot of issues dealing with BLE devices. What’s worse is that BLE can be a battery killer for users.
Android 4.4 KitKat added even more improvements and is much better better, but Android 5.0 is when BLE really begins working as it should. So which version should you be worried about? Does it make sense to support 4.3?
Most product developers want to support the widest number of devices available, but there’s a lot of issues with this approach:
- There’s significant work for backwards compatibility which usually means a lot of development work to support devices that are disappearing from the market
- The issues with previous Android releases means that customers get inconsistent behavior and may require significant support to resolve issues.
So let’s take a look at the current Android market of various versions:
|Version||Codename||API Level||August 2015||June 2015||May 2015||February 2015|
The data above was provided Google for several months in 2015, and it’s pretty representative of devices since it’s pulled from the play store. We like to pull data across multiple months instead of just single month to understand the actual trends, which are interesting:
There’s a few interesting trends that we can see:
- JellyBean 4.3 is less than 5% and is dropping.
- KitKat market share is high at 40%, but is not growing.
- Lollipop was released in March 2015 and has grown in 5 months to be 15% of the total market
It’s clear that supporting Lollipop is critical since all the growth for new units are for those, and since KitKat is 40% of the market, supporting it is currently almost a must as well.
That’s good news. Android 4.3 supports BLE but there’s a lot of little quirks in the devices where the BLE stack needs restarting to work properly.
Lollipop introduced a complete new API to using BLE which adds a lot of features. But you have to exclusively support Android 5.0.