The app works fine in debug. But when I build it in release mode, and sign it, it will not install on any devices unless they are configured to allow apps from unknown sources i.e. the phone says “For security, your phone is set to block installation of applications not obtained from Android Market”
The app will not install from dropbox, or the gmail app.
It won’t install on a Galaxy Nexus, a Samsung Galaxy S II, a Nexus One, amongst others.
As far as I can see the signing process works fine – there are no errors.
I’ve tried signing with a key from another app, and that fails too, when that key works fine for another app. This suggests the key is not the problem.
The APK is definitely a release build.
So what are the checks Android performs before it allows a signed, release app to be installed? How does it know it’s not from a trusted source?
You will have to enable the devices to “allow non-market apps” to be installed else it will complain.
You will find this somewhere in Settings->Development.