tu confundes una maquina virtual que te permite crear o simular un pc virtual instalando un sistema operativo con la maquina virtual de java dalwik , ART, etc...
las maquinas virtuales de java y derivadas como dalvik , art.... funcionan de la siguiente manera.....te lo intentare explicar de una manera sencilla
el creador de un programa utiliza un lenguaje de programacion, normalmente este lenguaje de programacion solo es compatible con una plataforma......, pues bien una de las ventajas de java es que en el dispositivo u ordenador que se utilizara java se instala una maquina virtual.... que sera compatible con el sistema operativo instalado en el dispositivo , ahora bien cuando el usuario ejecuta la aplicacion que esta escrito en un lenguaje , la maquina virtual "descodifica" ese lenguaje en otro que puede entender el sistema operativo....dicho de otra manera la maquina de java hace de intemediario o de traductor entre la aplicacion y el sistema operativo.... si no existiese la maquina virtual , el programador deberia hacer una aplicacion por cada sistema operativo utilizando un lenguaje compatible diferente para cada S.O.
utilizar diferentes maquinas virtuales supondra que mucho programadores deberan adaptar sus programas a la nueva mauina para que funcionen correctamente .. sobretodo el tema de los graficos.... ( Algo que tengo entendido que mejora la mauina virtual ART es la gestion interna de los graficos) y ¿ porque estan obligados? basicamente porque muchas herramientas internas (llamadas librerias se han modificado)
