La naturaleza multiplataforma de Java no significa que ejecutar el mismo programa fuente en una computadora con Windows dará como resultado un programa adecuado para computadoras con Windows.
En cuanto a Android, simplemente toma prestado el lenguaje de programación Java y es otra plataforma desarrollada por Google. La máquina virtual que utiliza es diferente de la máquina virtual Java general JVM (Oracle/SUN), que se llama For. Dalvik VM, también necesita convertir archivos de código de bytes estándar de Java (.class) en código Davik VM (.dex). El instalador de APK es en realidad un archivo zip con un archivo dex comprimido.
Esta multiplataforma (excepto Android) se debe principalmente a razones históricas. Oracle también presentó una demanda contra Google, que puedes conocer. Con cada nueva versión de Java JDK lanzada por Oracle, Google rápidamente hizo lo mismo y creó herramientas (ADT) que permitieron la conversión al código Davik VM.