Por muitos anos, os sistemas operacionais foram pensados prioritariamente para as estações de trabalho dos usuários ou para operacionalizar serviços corporativos. Entretanto, com a miniaturização dos componentes e o aumento do poder de processamento dos dispositivos portáteis, percebeu-se um crescimento exponencial dos estudos relacionados com a computação móvel. Foi neste contexto que o Android foi proposto como um Sistema Operacional voltado ao uso em celulares inteligentes, tablets e outros dispositivos móveis.
A primeira versão comercial do Android foi lançada em fevereiro de 2008, embarcada no T-Mobile G1, smartphone desenvolvido pela HTC. Nestes sete anos de desenvolvimento, foram lançadas diversas novas versões do SO, culminando com o Android 5, também chamado de Lollipop, que foi revelada em Outubro de 2014 com o objetivo de ser o maior lançamento desde a origem do Sistema Operacional do Google. Uma das principais inovações da versão foi a inclusão de uma interface de usuário completamente remodelada, denominada “material”, que trouxe consigo a filosofia de atuar na integração de diferentes plataformas.
Internamente, o Android se organiza em função de quatro camadas que se agrupam em formato de uma pilha de software. A camada mais abaixo é a do Kernel Linux, e desempenha as funções de mais baixo nível do Sistema Android, como o gerenciamento dos processos, da memória, da comunicação e o gerenciamento do sistema de arquivos. Acima desta camada se encontra a de Bibliotecas nativas do Sistema e o ambiente de execução do Android (Android Runtime). As bibliotecas nativas são escritas nas Linguagens C e C++ e habilitam os dispositivos a lidar com diferentes tipos de dados, já o ambiente de execução tem por finalidade prover os requisitos necessários para promover a execução de aplicativos e usuário. Atualmente, para realizar esta tarefa, o Android utiliza o ART (Android Runtime).
As aplicações de usuário, que estão no topo das camadas de software, executadas no sistema Android não interagem diretamente com as bibliotecas nativas do sistema localizadas na camada de Bibliotecas e Ambiente de Execução, e sim com serviços localizados em uma camada intermediária chamada de framework da aplicação. É nesta camada que estão agrupados programas que gerenciam em alto nível funções básicas do dispositivo, como o gerenciamento de recursos e das chamadas de voz.