Google’s Nexus One auto-upgraded a few weeks ago, to Android 2.2
It immediately broke itself. It was no longer able to use the SD card.
As a side-effect, it was impossible to install any applications. Making this a very expensive, very heavy, very slow excuse for a mobile phone.
The error was that the SD card permanently unmounted itself, with a message in status bar “SD card can now be safely removed”, accompanied by an error if you tried to install anything: “your SD card is unavailable or missing” (or words to that effect.
Factory-reset of the phone? Still broken.
By fiddling around, I eventually found the solution (and you’re probably not going to like this): Format the SD card.
Yep. It seems that Google changed something between Android 2.1 and 2.2 that – in some cases – makes it unable to read the SD card any more.
For the record, other things I tried include: remove the card physically and reseat; dismiss the error messages and try again; install apps from private sources (e.g. our own apps we wrote).