It seems that quite often after an upgrade (especially when using Apps2SD), Android rebuilds the /data/system/packages.xml file because it thinks you have reinstalled all of your apps. This results in missing apps, force closes, etc, because UIDs have changed and they don't match whats in your /data/data directory. It's almost always fixed by a wipe, but screw that
Download this file: http://n0rp.chemlab.org/android/fix_permissions.sh
Push it to your sdcard, su, and run "sh /sdcard/fix_permissions.sh" and reboot. You should be good to go with NO WIPE!
Credit goes to this guy, I simply ported it to shell code: http://blog.elsdoerfer.name/2009/05/...id-mismatches/
UPDATED: Now works with protected apps.
Originally Posted by anddep
so when installed.. i dont have to wipe for a new build?
Well, there are some other factors, like app data that is stored in the same place but in a different format. You'd likely run into this going back and forth from an HTC based build like Hero or Sapphire and an Android based build like mine, Dude's, or JF's. I can't fix that situation, YMMV.
Except for that special case, this should do the trick.