PCs have interchangeable components that are built around standards. So if it's easier to write for them in an abstracted way. Vendors control the hardware for their phones. They have no interest in enabling people to remove their Android flavor, with built in crapware. Open source phone OSes will come, but only after we've reduced the smart phone to a commodity and market forces have compelled standardization through economy of scale.