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.

9 thoughts on “Android and the strange world of APK sizes

  1. Pingback: Cache Partition Size Can Block 50MB APK’s « MobileGamesBlog

  2. Hello 10tons!

    I have to disagree!
    I own a Desire S and Azekend 2 Lite shows as incompatible with my phone on Google Play.
    However I’m able to install some 120 – 130 MB games from the same Google Play so how can we have a ~35 MB cache limitation for the app store?!

    • Hi,

      What version of Android are you running? Desire S with Android 2.3 or later should be be able to run the game fine. However, Android 2.2 isn’t supported.

      • Hi,

        I’m running stock 2.3.5 with Sense 3.0 and still getting the error “This app is incompatible with your Desire S.” on the google play website.
        If I’m searching for “Azkend 2” from the phone client, it doesn’t even find the game, obviously.

        • Did you try the Cache Fixer and made sure you had enough free space? The number next to “Free” in this image:

          We’re seeing 96 Azkend 2 Lite installations on Desire S devices. This probably means that this problem is something that affects some Desire S devices, but not the model in general. It’s also probably something completely else than the cache size thing. As far as we know, Desire S has 150 to 300 MB of cache space. Would be awesome to find out what it is. Really strange that some Desire S devices work ok but others don’t see the game at all…

          Can you see our other games like Grim Joggers Freestyle or Azkend Lite?

          • Running Cache Fixer 1.1 I get this detail:
            Using: System Partition
            Size: 142 MB Free: 11 MB

            I tried installing Grim Joggers Freestyle and it worked, however I can’t see “Azkend Lite” in Google Play.
            I also tried installing a 217 MB game (Youda Survivor) and it worked!
            I have other games with packages that take up more than 100-150 MB and I managed to install them without any problem. Still, some 15 MB games are unavailable, just like Azkend 2. It makes no sense!

            Please let me know if you need more info or if you want me to run more tests; I would be happy to help you understand the issue.

  3. Azkend Free works! It’s visible and I can install it.

    It’s pretty hard to say which games I cannot see and I SHOULD see because I cannot filter out the ones that were not intended for the Desire S from the start (although few, I know there are some).

    What I can give you however is a short list of games I did manage to install and games that I cannot see/install.

    Games that work:
    – Blood and Glory (137MB)
    – Frontline commando (123MB)
    – Gravity Project (25MB)
    – Youda Survivor (217MB)
    – Parking Challenge 3D (40 MB)
    – World of Goo Demo (27MB)
    – Elder Sign: Omens (161MB)

    Games that do not work:
    – Mini Motor Racing (161MB)
    – World of Goo (46MB)
    – iGun Zombie – Premium (37MB)

    One interesting find is that the website also filters out some games, without it knowing how much cache I have free!!! In fact all games that show as incompatible on the website are hidden from the phone client and honestly I can’t see a clear connection to apk size since a 217MB game works and a 37MB game does not.

    • As said, the problem might be something completely else than the cache size. Just can’t figure out what it could be yet…

      Many games split the game into multiple APKs and this circumvents the cache size limitation. We haven’t gotten around of doing this yet as it requires some work with our engine and probably some with the games themselves. We’ll probably implement it when we have time. So the user has to download a 49 MB single package in the case of Azkend 2 Lite. Some games first serve a smaller apk and thus the initial download size fits in the cache.

Comments are closed.