Dalvik — это основанная на регистрах виртуальная машина, позволяющая запускать приложения и код написанный на Java. Стандартный компилятор Java, входящий в состав Android SDK, превращает написанный в виде текстового файла код в байт код, а затем записывает в .dex файл. Этот файл уже можно запустить на виртуальной машине Dalvik. Сам запуск требует небольшого количества памяти, что позволяет запускать код на мобильных устройствах. Это достигается за счет использования не стандартных для Java библиотек, рассчитанных на использование в десктопах, а собственной библиотеки, идеально подходящей для мобильных устройств.
Еще одним плюсом является открытость данного проекта. Это позволило использовать Dalvik на BlackBerry PlayBook.
Все это вызвало недовольство со стороны Oracle, утверждающей, что при создании Dalvik использовалась ее интеллектуальная собственность. Этот спор сейчас и решается в судах с компанией Google.