Releasing an update for an Android application


Well I’ve had Best Books out for just over a couple of months now and although it’s been doing well in terms of what I expected (there’s 431 active installs which is not bad considering I haven’t advertised it and it’s a pretty simple app), there are things I wanted to fix and update. I found that sometimes the back button/history stopped working (at least on my phone), also the pagination on saved lists didn’t seem to be working either and lastly the animations were too slow and I wanted to clean up the code a bit. So over the last month (quite irregularly mind you) I’ve been doing these changes and now I’m ready to push an update to Google play.

So what’s involved in updating the application? Well it seems that there’s not much, you just need to update two attributes in the manifest file and resign it. Those attributes are the android:versionCode and android:versionName. The versionCode is always an integer and it’s suggested that you just increment it with each release whether major or minor. It’s mainly used internally and between applications that have dependencies on each other. The versionName is the usual major.minor.etc.blah numbers that you see with any application.

As for signing the update, Google suggests that you keep using the same certificate (or set of certificates) to allow users to upgrade seamlessly. If it’s not the same then the package name needs to be different too which means that it’s effectively seen as a whole new application. There are also benefits in terms of allowing your application to be a set of modules so it can be updated independently if needed. The usual validity period applies if you’re going to publish on Google play (must end after 22 October, 2033). Exporting the signed APK using Eclipe is described in this post, follow the same process and then upload it on Google play again.