Shared key was used at the time of Android cupcake, only because, at that time there were low-end devices, which required running home (i.e Launcher app) across process with Contacts apps in same process.
But using LOCAL_CERTIFICATE := shared in Android.mk only really matters if the shared user id is set in Manifest.xml, otherwise launcher will still get its own uid.
Also There's no other reason for using shared key between Launcher, Contacts app,