Imagine you’ve been passionately working on an Android application, the deadline creeps up to you but you’ve proudly managed to publish the application some days before the deadline. After pressing the “Publish” button the wait starts. The wait to actually see the application appear in the store.
Around an hour passes and a colleague can see the app in the store and successfully download the app. You are thrilled to go to the store to download the application but to your surprise and disappointment you can’t see the application in the store from your device. You browse to the play store web page of the application you published. You log into your account that is also used as account on your mobile device. In the screen an error appears that looks like this
The quest for answers
This horror scenario happened to me. To try and figure out what went wrong I decided to follow the breadcrumb trail back to where this story started…the publishing of the application. Some question I wanted to find an answer to were:
- Did I miss any vital information?
- Did I unintentionally filter out devices using the powers of the AndroidManifest?
- Am I not supporting the Android version that is running on my device?
I was aware of the limit of 50MB for an uploaded .apk file. The .apk file that I uploaded was 36MB so this shouldn’t be an issue. I also checked the list of compatible devices (over 1514) to verify what I already expected. The Samsung Galaxy S (aka GT-I9000) is a compatible device for the application meaning that I also didn’t filter it out using the power of the AndroidManifest.
Ok, so my device is compatible for the application. Do I maybe have an old Android version that stops me from downloading and installing the application from the Play Store? I checked my AndroidManifest.xml and the minSdkVersion supported for the application is 8. Sdk version 8 equals Android version 2.2. My device is running Android version 2.2.1 so this should also be fine.
The actual answer
So after failing to find the answer I was looking for I decided to go to the help page of the play store. I was happy to finally find an answer on the “Known Issues” page
On the page that contained this information a list of devices that could suffer from this issue was shown. As expected the Samsung Galaxy S (GT-I9000) was in this list. The information that was missing from this list is the size of the cache partition for the devices. I didn’t find any official sources from either Samsung or Google stating what the cache partition size of my device was. After some googling I did find some sources stating that the cache partition size of my device should be around 30MB.
Questions to Google
Finding the answers to my questions made me wonder about some things and I welcome and invite Google to participate and clarify these matters.
- Why isn’t there any indication about my device (and different ones) not being compatible before publishing the application?
- Are there any official sources to find out what the cache partition size is or is there an application that could be used to figure this out?
- Why isn’t there any fallback for a too small sized cache partition? I have plenty of space on internal and external storage to house the 36MB. I don’t see why the cache partition should stop me from downloading my application. Downloading a similar sized .apk via the browser doesn’t cause any problems and enables me to install the application without a problem.
Stay tuned for a next blog post in which I describe how I solved my problem using expansion files!