Thursday, January 23, 2014

Android device fragmentation, it finally happened

I've been coding android apps on my free time for over 3 years now and I've never had any special issue on any specific device (i.e. what people call android device fragmentation) ... until some days ago.
I released a new feature in my app that was build with opengles 2.0 graphic engine. Everything was working fine on my dev devices: samsung s4 & s3 mini and a htc x one, android version 4.2. 
I happily released the new package to googleplay and after just a day errors related to opengles 2.0 started to pop up in my developer administration console. And all the devices had android version > 4.3.
So what to do?! At home I only had my android 4.2 devices and after checking program updates I realized that I would not be able to increase the android version number. I phoned to my local Samsung representative and they informed me that there was no plan today to release any upgrade to the Samsung s4 mini. Google the HTC x one I realized I could just forgot about any upgrade on that one...
So what to do? Without testing possibilities you can't solve a bug...
Enter my national phone operator! Normally you can't do much with the phones in the stores. Usually they're locked and lack internet connectivity. But I found this store that do allow browser with internet connectivity. So I create a couple of apk packages send them to an email account and go to the store. I found a suitable phone with android version > 4.2 and start to test my packages. First one fails, second one succeeds!! Happy with this positive result I start to test on more devices... until I manage to drag one of the phones anti theft cable a little too much triggering the alarm!! A little embarrassing and it might be difficult to come back for more testing...

The technicalities of and the solution to the bug can be found here:


android-strange-error-in-opengles-2-0-calling-gluniformmatrix4fvumatrixlocation