Java je objektově orientovaný programovací jazyk nezávislý na platformě, který je využíván pro tvorbu nativních aplikací pro Android. Jedná se o oblíbený programovací jazyk, který vyvinula společnost Sun Microsystems, kterou nyní vlastní Oracle. Java obsahuje mnoho silných nástrojů svých předchůdců jako je C nebo C++ a zároveň se snaží vyhnout jejich nedostatkům.
SDK Androidu obsahuje mnoho standardních knihoven Javy jako jsou knihovny zaměřené na datovou strukturu, matematiku, grafické zobrazení nebo sítě. Zároveň obsahuje knihovny speciálně vytvořené pro Android.
Mezi aplikacemi, které využívají Javu pro Android můžeme najít Whatsapp, Facebook, Linkedin nebo FlipKart.
Co se týče syntaxi, Java pro Android a Java jsou stejným jazykem. Odlišná je dostupnost knihoven, kdy některé Java knihovny nelze použít pro Javu pro Android a naopak některé knihovny pro Javu pro Android nelze použít ve standardní Javě.
Velká odlišnost se nachází v podobě API. Android nespouští bajtkód v Javě skrze klasickou JVM (Java Virtual Machine), ale místo toho využívá Dalvik pro starší verze nebo Android Runitme (ART) pro novější verze.
Přístroje s Androidem nespouštějí JAR soubry, ale třídy jsou kompilovány do proprietárního bajtkód formátu a spouštěny Dalvikem a specializovaným virtuálním strojem pro Android.
Dalvik má některé vlastnosti, které ho odlišují od běžných virtuálních strojů:
Protože bajtkód, který se načítá do virtuálního stroje Dalvik není stejný jako Java bajtkód a kvůli způsobu, jakým Dalvik načítá třídy, není možné načítat balíčky tříd za pomoci jar souborů. Pro Androidí knihovny je nutné použít jiný postup, který využívá kopírování dex souboru do privátního úložného prostoru aplikace, nežli se soubor načte.