La arquitectura de Android consiste en un kernel de Linux modificado, una máquina virtual Dalvik que ejecuta aplicaciones Java, un framework de aplicaciones y las propias aplicaciones. El framework proporciona funcionalidades básicas a través de bibliotecas de código abierto y nativas, mientras que cada aplicación se ejecuta de forma independiente en su propio proceso y VM.