Trabalho
● A arquitetura da plataforma Android é dividida em quatro camadas:
● Kernel GNU Linux;
● Bibliotecas.
● Framework para aplicações;
● As próprias aplicações;
● Além da porção runtime, necessária para a execução dos aplicativos no dispositivo.
Linux Kernel
● A camada mais baixa da arquitetura, Kernel Linux, é a responsável por gerenciar:
● Processos e threads;
● Memória;
● Arquivos e pastas
● Redes;
● Drivers dos dispositivos;
● Energia.
● Os drivers de dispositivo fornecidos incluem Display, câmera, teclado, WiFi, memória Flash, áudio, etc.
Android Runtime
● A base de desenvolvimento do Android é Java, porém não existe uma JVM e sim outra maquina virtual, a Dalvik, otimizada para interpretar códigos em dispositivos móveis;
● Ao compilar o bytecode (.class), este é convertido para o formato específico da máquina virtual Dalvik, o .dex (Dalvik Executable), que representa a aplicação compilada;
● Depois da aplicação Android ter sido compilada é gerado um arquivo único, neste caso com a extensão .apk (Android Package File).
Native Libraries
● A camada de Bibliotecas é formada por um conjunto de bibliotecas escritas em C/C++;
● Tudo disponível para os desenvolvedores através do Framework de aplicações;
● Entre as mais importantes encontra-se o
SQLite, OpenGL, WebKit, FreeType, Secure
Sockets Layer (SSL) e as bibliotecas de mídia que permitem reproduzir arquivos de áudio, vídeo e imagem.
Java SDK
● O Framework é uma base para as aplicações, onde os desenvolvedores tem acesso completo;
● Pensando na reutilização dos componentes, uma aplicação pode capturar funcionalidades de outra criada anteriormente para o seu desenvolvimento;
● Nele estão inclusos:
● Telephony manager: gerência de hardware do dispositivo;
● View system: conjunto de telas (componentes gráficos) para desenvolver uma aplicação;
● Content providers: dados que são compartilhados entre várias