Back
Featured image of post [PT-BR] Arquitetura Android

[PT-BR] Arquitetura Android

As aplicações para o Android são desenvolvidas em Java, mas aí você me diz: “React-Native é NodeJS”, “Flutter é Dart”, “Ah mas Xamarin é C#”, sim você está correto! Mas no momento em que vocês vão compilar o código para APK...

Arquitetura Android

Olá nobres! nesse artigo irei falar um pouco sobre a arquitetura do android… como ela funciona e etc.
Como muitos sabem e alguns desconhecem, o Android é um Linux. Diante deste fato ele consequentemente é Open Source.

O que é Open Source? é o nome utilizado para programas ou para qualquer coisa que você consiga ler código fonte, ou seja, podemos ver ás linhas de código daquele programa (Obviamente código disponíbilizado pelo criador). Pelo fato do Android ser open source, vemos o Android em Carros, Televisões, Celulares e etc.

Algo curioso que poucas pessoas sabem é que o Android não foi criado pela Google…
Em 2005 a Google comprou a empresa criadora do Android… a Android Inc. que em 2003 havia criado o Android.

Agora a cereja do bolo; a arquitetura Android.

(Irei me referir a cada camada por sua cor.)

Verde Claro: Na imagem acima podemos vê que o Linux Kernel é a base do Android.
Essa camada é responsável pelo gerenciamento de energia e drivers de Display, Wi-Fi, Câmera, Áudio…

Verde Escuro: O Hardware Abstract Layer (HAL), responsável pela Câmera, Áudio, Sensores, Bluetooth e etc.

Azul: Está camada é onde ficam as livrarias que em sua grande maioria são escritas em C/C++, elas são responsáveis pelos navegadores, SQLite (Database Local), renderizador de vídeo (OpenGL) e etc…

Laranja: As aplicações para o Android são desenvolvidas em Java, mas aí você me diz: “React-Native é NodeJS”, “Flutter é Dart”, “Ah mas Xamarin é C#”, sim você está correto! Mas no momento em que vocês vão compilar o código para APK ele é convertido para Java. Para os que conhecem o funcionamento do Java, acredito que já sabem o porquê do DVM (Dalvik Virtual Machine), mas para os que não conhecem: O Java roda em uma JVM (Java Virtual Machine), que é uma maquina virtual do próprio Java que serve para converter o código Java para código de maquina; o código Java não é compilado, e por esse fato o Java terá compatibilidade com todos os sistemas que possuir uma JVM.

Roxo: Android Framework ou Java API Framework, é a camada que fornece aos desenvolvedores as funções do Android, por exemplo: Notificações, instalar e desinstalar aplicativos, gerenciamento de atividades e etc.

Resumindo: É o Android Framework que permite que os aplicativos maneja seu Android.

Rosa: Na camada “Apps”, são os aplicativos que vem por padrão no Android, sejam os aplicativos do Google ou da empresa que fabricou o celular. Por exemplo os celulares da Motorola, Samsung, LG…

(Está é outra imagem para dar uma pespectiva diferente… e mais detalhada.)


Autor do post: blackcrw

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy