Documente Academic
Documente Profesional
Documente Cultură
Android Developers
Arquitetura da plataforma
Neste documento
Kernel do Linux
Camada de abstrao de hardware (HAL)
Android Runtime
Bibliotecas C/C++ nativas
Estrutura da Java API
Aplicativos do sistema
O Android uma pilha de software com base em Linux de cdigo aberto criada para diversos
dispositivos e fatores de forma. O diagrama a seguir mostra a maioria dos componentes da plataforma
Android.
https://developer.android.com/guide/platform/index.html 1/6
2017611 Arquiteturadaplataforma|AndroidDevelopers
Kernel do Linux
A fundao da plataforma Android o kernel do linux. Por exemplo: o Android Runtime (ART) (#art) cona no kernel do
Linux para cobrir funcionalidades como encadeamento e gerenciamento de memria de baixo nvel.
https://developer.android.com/guide/platform/index.html 2/6
2017611 Arquiteturadaplataforma|AndroidDevelopers
Usar um kernel do Linux permite que o Android aproveite os recursos de segurana principais
(https://source.android.com/security/overview/kernel-security.html) e que os fabricantes dos dispositivos desenvolvam drivers de
hardware para um kernel conhecido.
Android Runtime
Para dispositivos com Android verso 5.0 (API nvel 21) ou mais recente, cada aplicativo executa o prprio processo
com uma instncia prpria do Android Runtime (ART) (http://source.android.com/devices/tech/dalvik/index.html). O ART
projetado para executar vrias mquinas virtuais em dispositivos de baixa memria executando arquivos DEX, um
formato de bytecode projetado especialmente para Android, otimizado para oferecer consumo mnimo de memria.
Construa cadeias de ferramentas, como Jack (https://source.android.com/source/jack.html), e compile fontes Java em
bytecodes DEX, que podem ser executadas na plataforma Android.
Antes do Android verso 5.0 (API nvel 21), o Dalvik era o tempo de execuo do Android. Se o seu aplicativo executa o
ART bem, deve funcionar no Dalvik tambm, mas talvez no vice-versa (https://developer.android.com/guide/platform/verifying-
apps-art.html).
O Android tambm contm um conjunto das principais bibliotecas de tempo de execuo que fornecem a maioria da
funcionalidade da linguagem de programao Java, inclusive alguns recursos de linguagem Java 8
(https://developer.android.com/guide/platform/j8-jack.html) que a estrutura da Java API usa.
https://developer.android.com/guide/platform/index.html 3/6
2017611 Arquiteturadaplataforma|AndroidDevelopers
Se estiver desenvolvendo um aplicativo que exige cdigo C ou C++, voc pode usar o Android NDK
(https://developer.android.com/ndk/index.html) para acessar algumas dessas bibliotecas de plataforma nativa
(https://developer.android.com/ndk/guides/stable_apis.html) diretamente do seu cdigo nativo.
https://developer.android.com/guide/platform/index.html 4/6
2017611 Arquiteturadaplataforma|AndroidDevelopers
Aplicativos do sistema
O Android vem com um conjunto de aplicativos principais para e-mail, envio de SMS, calendrios, navegador de
internet, contatos etc. Os aplicativos inclusos na plataforma no tm status especial entre os aplicativos que o usurio
opta por instalar. Portanto, um aplicativo terceirizado pode se tornar o navegador da Web, o aplicativo de envio de SMS
ou at mesmo o teclado padro do usurio (existem algumas excees, como o aplicativo Conguraes do sistema).
Os aplicativos do sistema funcionam como aplicativos para os usurios e fornecem capacidades principais que os
desenvolvedores podem acessar pelos prprios aplicativos. Por exemplo: se o seu aplicativo quiser enviar uma
mensagem SMS, no necessrio programar essa funcionalidade possvel invocar o aplicativo de SMS que j est
instalado para enviar uma mensagem ao destinatrio que voc especicar.
https://developer.android.com/guide/platform/index.html 5/6