Виртуальные машины используются для запуска приложений на разных ОС(, Java компилирует код в независимые от ОС файлы.class, которые интерпретируются в байт-код. ). Поскольку приложения для Android работают на той же ОС (, то есть на Android), для них не требуется виртуальная машина (. Здесь я могу ошибаться). Тогда зачем ему виртуальная машина Dalvik?