Please stop using intent.setPackage("com.google.android.gsf").
The recommended way to register is via GoogleCloudMessaging API in Google Play Services. If you
must use the register intent service directly - it should keep working, but the code in com.google.android.gsf
is ancient and buggy - all fixes and updates to GCM are implemented in Play Services package.
The 'gsf' package can't be updated - so whatever shipped on the platform will still be there and may even
work, but it is quite risky and fragile. Lollipop no longer has any GCM code in the gsf package except
a forwarding intent that redirects to the real implementation in Play Services.
A bugreport or more info about emulator variant would help figuring why emulator doesn't work.
Costin