Android and the strange world of APK sizes

Google just upped the maximum single APK size to 50 MB. After this the developer needs to do some add-on package juggling up to 4 GB. This can be done with Google’s own tools or developers can roll their own. For us this small change meant that we could fit Azkend 2 in two single packages on Android: APK for phones and another for tablets. However, the reality of things proved to be a bit different.

We just released Azkend 2 Lite on Google Play and one of our own test devices is a HTC Wildfire S. It’s one of the cheaper Android 2.3 devices. After the release, we were baffled why we couldn’t find the game with that device. We saw no apparent reason why Azkend 2 Lite would filter out on a Wildfire S.

Turns out that the cache partition size where apps from Google Play are first downloaded varies from device to device. On the Wildfire S this size is 35 MB. On a Nexus S the size is 500MB. On a HTC Sensation the size was around 80MB. If the cache partition size is smaller than the app APK, the app will not be visible on the Google Play for the device. This is an interesting and unadvertised limitation that probably affects cheaper models more than expensive ones.

So, it seems that even the 50MB single download can’t be achieved on all devices. I’m not sure if there’s going to be a fix or if this is just a feature. From the little details we’ve learned, it would seem likely that this is something that could be fixed in Google Play. If there is a storage device with more capacity attached, why not use that for saving the apk? World of Goo by 2D Boy is also affected by this strange feature.

If you suspect that you aren’t seeing some apps with your device, you can check the cache size with a free tool called Cache Fixer. You can even move the cache on a rooted device. However, this moving fix isn’t an option for the majority of users.