Java is simply the supported language of choice for Android development. Google chose to create and SDK for Java language and a Plugin for the popular Eclipse Java IDE, so there was a easily available tool set to create Android apps in a popular language.
The confusing part here is that Java the language and Java the virtual machine are two different things. When a standard Java program runs on your PC, it's running code that was compiled into byte code meant to run in Sun Microsystems Java Virtual Machine. Basically Android has its own virtual machine that runs byte code as well. When you run and Android app, its running code that was compiled into the byte code that the Android virtual machine understands.
So, while Java is the language of choice, you could technically write android apps in any language provided you had the means to compile it into Android byte code. (Although I don't think any tools are available for other languages)