Java - просто поддерживаемый язык выбора для разработки под Android. Google решил создать и SDK для языка Java, и плагин для популярной Eclipse Java IDE, поэтому появился легко доступный набор инструментов для создания приложений Android на популярном языке.
Запутанная часть здесь в том, что Java язык и Java виртуальная машина - это две разные вещи. Когда на вашем компьютере запускается стандартная Java-программа, она выполняет код, скомпилированный в байт-код, предназначенный для запуска на виртуальной машине Java Sun Microsystems. В основном Android имеет свою собственную виртуальную машину, которая также выполняет байт-код. Когда вы запускаете приложение Android и запускаете его код, который был скомпилирован в байт-код, который понимает виртуальная машина Android. Итак, хотя Java является языком выбора, технически вы можете писать приложения для Android на любом языке, если у вас есть возможность скомпилировать его в байт-код Android. (Хотя я не думаю, что какие-либо инструменты доступны для других языков)