That was the problem I was having, normal debugging/testing with Eclipse don't work here because it uninstalls the previous (differently signed) version, and AFAIK you can't download different older versions of the same application from Google Play even if I wanted to try that route.. so here's how I managed to solve it:
Backups, backups, backups!
I always save a copy of my .apk along with a snapshot of the development environment right before I push, so I had some of the previous copies laying around.
I found if I manually uninstalled the application I could now install one of my old versions via:
$ mv <myapp>.apk.v1 <myapp>.apk
$ adb install <myapp>.apk
Once it was installed I made a home screen launcher of the old version. Next I found that I can use the -r
option from adb install to perform the "update" via installing a new version of the same apk:
$ mv <myapp>.apk.v2 <myapp>.apk
$ adb install -r <myapp>.apk
That did a reinstall of the existing application while keeping the old data (including the old home screen launcher icon).
Now I was able to reproduce my issue. The final step was to apply the various fixes to my project (in Eclipse) build them and export (to create a signed .apk just like what I was launching to Google Play) then install the "update" with adb install -r
and, BTW, adding:
android:exported="true"
To my application's activity did the trick for me. Hopefully this helps someone else!