LOL
LOL
That is exactly why Sun sued Microsoft and won. Microsofts JVM was slightly incompatible with the official one. If Microsoft had replicated all Java API packages, and not added Windows-specific ones then they wouldn't have sued.
One of the big sells of Java has always been "write once, run anywhere", Sun sued Microsoft because their incompatible JVM made that not true anymore. Now it's effectively true of Android; no program written in Java not specifically for Android can possibly be expected to work. Not that I think that is a particularly bad thing, since J2ME is a big pile of crap, but it's kind of interesting to see the difference between the perception in favor of Sun then and against Oracle here when the core issue is the same.
Now it's effectively true of Android; no program written in Java not specifically for Android can possibly be expected to work.
The large majority of existing Java code and libraries will work on Android without modification.
It certainly wasn't just the technical matter of reproducing "166 APIs", there was the whole political angle of putting Android under control of Sun/Oracle's committees.
(And just on a trivial note, Microsoft eventually created their own 'clean-room' Java called "J#". It died in obscurity, but Google wasn't the first.)