Não entendi muito bem esta parte:
O código é interpretado 'nativamente' em todo celular android no Dalvik.
Sei pouco sobre java, mas não é necessário compilar os arquivos para binário, que é um formato que a maquina entende? O que eu imaginei é que o Dalvik estaria apenas interpretando este arquivo uma vez já compilado, porém precisando de uma maquina virtual.
Se o Java pode ser interpretado antes mesmo de ser compilado, será um novo aprendizado inesperado.