Does that mean that the Java version running on Android is not quite conformant to the public Java API?
Android's class library does not necessarily line up with any existing Java API from Sun. It is closest to JavaSE.
Many of the java.* and javax.* implementations are brought over from
Apache Harmony, so if there is something in particular you are missing, you might search there for something you can use. For example, the whole java.beans package is missing, but you may be able to add it to your own project.
The core Android team was aiming for an API richer than JavaME yet still svelte enough to fit in a modest amount of flashable ROM alongside everything else needed to run a phone. The more ROM you need, the more expensive the device gets, on average.