section_heading: Arhitektura<ref>
paragraph_text: Android je zasnovan na jezgri Linux 2.6 i napisanom u C/C++ programskom jeziku. Obzirom na otvorenost izvornog programskog koda, aplikacije putem middlewarea imaju mogućnost komuniciranja i pokretanja drugih aplikacija primjerice za ostvarivanje poziva, slanje SMS poruka, pokretanja kamere i slično. Iako su C i C++ programski jezici primjenjivani za radno okružje (framework), većina aplikacija pisana je u Java programskom jeziku rabeći Android Software Development Kit (SDK). Postoji mogućnost pisanja aplikacija i u C/C++ programskom jeziku, no tada se upotrebljava Android Native Code Development Kit (NDK) (androidov razvijateljski kit u izvornom kodu). Ovakvim postupkom omogućuje se bolje raspolaganje resursima i uporaba knjižnica programa iz jezgre i radnog okružja. Ovakvim postupkom aplikacije se ubrzavaju i do 10 puta, no pisanje samog programa je puno složenije.