जावा केवल Android विकास के लिए पसंद की समर्थित भाषा है। Google ने जावा भाषा के लिए और एसडीके और लोकप्रिय ग्रहण जावा आईडीई के लिए एक प्लगइन बनाने का विकल्प चुना, इसलिए एक लोकप्रिय भाषा में एंड्रॉइड ऐप बनाने के लिए आसानी से उपलब्ध टूल सेट था।
यहाँ भ्रामक हिस्सा यह है कि जावा भाषा और जावा वर्चुअल मशीन दो अलग-अलग चीजें हैं। जब एक मानक जावा प्रोग्राम आपके पीसी पर चलता है, तो यह कोड चल रहा होता है जिसे बाइट कोड में संकलित किया गया था, जिसका अर्थ सन माइक्रोसिस्टम्स वर्चुअल वर्चुअल मशीन में चलना था। मूल रूप से एंड्रॉइड की अपनी वर्चुअल मशीन होती है जो बाइट कोड भी चलाती है। जब आप और Android ऐप चलाते हैं, तो उसका रनिंग कोड जिसे बाइट कोड में संकलित किया जाता है, जिसे एंड्रॉइड वर्चुअल मशीन समझता है। तो, जबकि जावा पसंद की भाषा है, आप तकनीकी रूप से किसी भी भाषा में एंड्रॉइड ऐप लिख सकते हैं बशर्ते आपके पास इसे एंड्रॉइड बाइट कोड में संकलित करने का साधन हो। (हालांकि मुझे नहीं लगता कि अन्य भाषाओं के लिए कोई उपकरण उपलब्ध हैं)