For android the developers generally use Java. It is the most widely used and most supported by Google, but more and more compilers and VMs are emerging.The Android kernel is programmed in c,c++ and is a Linux based os. You can program apps for Android in most languages now: c++, c, and ruby. Most choose java since google has pushed it enough and made it simple.