Um, what? Phones differ in size and power, but a particular version of Android is a particular version of Android everywhere.
Android developers don't have a debian vs. ubuntu vs. centos. vs. gentoo vs. arch type choice to make, only a "how backwards compatible do I want to be" choice.
Libraries are just part of the picture, then comes the location of files, init systems, lack of standard frameworks for all layers of a modern desktop.
On OS X, in spite of CUPS, I can use AppKit Printing API. On Linux I have to resort to somehow generate PS and forward into the printer driver.
Yes. Of the two problems (apis and deployment) apis is actually the easier problem. It's not solved by any means (OS services are just too dang hard to figure out because desktop linux isn't one OS. How do I do desktop notification, printing, service init etc in a way that works for all distros?) but at least that's doable.
Android developers don't have a debian vs. ubuntu vs. centos. vs. gentoo vs. arch type choice to make, only a "how backwards compatible do I want to be" choice.