I’m frequently being offered app updates via Android Market. Most of these work without a hitch, but occasionally I update an app and then find that it no longer runs from an existing shortcut. The device reports “Application is not installed on your phone“, or the shortcut icon has disappeared altogether.
The problem stems from the way in which Android creates shortcuts. An Android shortcut is not simply an alias to the application binary, it’s actually an Intent that directly specifies the ComponentName it should run.
It’s not enough to use the same manifest package name and digital certificate when you publish an update to your app.
For any existing shortcuts to carry on working you also need to ensure that the ComponentName is identical, which means making the entry point Intent the same as it was in the previous version.
In short, keep your ACTION_MAIN Intent the same and your app will update cleanly.