Introdução ao Android

O Android é um sistema operacional baseado em Linux, desenvolvido principalmente para dispositivos móveis como smartphones, tablets, smartwatches e TVs. É atualmente o sistema operacional mais utilizado do mundo, com bilhões de dispositivos ativos.

Foi criado inicialmente pela empresa Android Inc. e adquirido pelo Google em 2005, com o primeiro smartphone lançado em 2008. Desde então, evoluiu para se tornar um ecossistema robusto e aberto para desenvolvimento de aplicações móveis e sistemas embarcados.

📱 Onde o Android é usado?

O Android é baseado no kernel Linux, mas inclui sua própria stack de execução, máquina virtual, bibliotecas, sistema de permissões, componentes gráficos e interface adaptada para toque. É também altamente customizável por fabricantes e comunidades.

História e Evolução do Android

O Android foi originalmente desenvolvido pela Android Inc. em 2003 com o objetivo de criar um sistema operacional para câmeras digitais. Rapidamente o foco mudou para dispositivos móveis, e em 2005 a empresa foi adquirida pelo Google, que passou a liderar seu desenvolvimento.

Em 2008, foi lançado o primeiro dispositivo Android: o HTC Dream, rodando o Android 1.0. Desde então, o sistema evoluiu rapidamente, passando por dezenas de versões com nomes de doces (até o Android 9) e melhorias em desempenho, interface, segurança e suporte a novos dispositivos.

📅 Linha do tempo das versões principais

2008

Android 1.0 – Primeiro lançamento oficial (HTC Dream).

2009

Donut (1.6), Eclair (2.0/2.1) – Suporte a diferentes tamanhos de tela e navegação por GPS.

2011

Honeycomb (3.x) – Versão voltada para tablets.

2013

KitKat (4.4) – Mais leve, focado em performance e otimização.

2015

Marshmallow (6.0) – Permissões em tempo de execução.

2017

Oreo (8.0) – Notificações organizadas e suporte a picture-in-picture.

2019

Android 10 – Fim dos nomes de sobremesa. Navegação por gestos e modo escuro nativo.

2021

Android 12 – Visual “Material You”, privacidade avançada.

2023+

Android 13 e 14 – Otimizações, suporte a dispositivos dobráveis e novas APIs para privacidade e mídia.

O Android hoje é mantido em parte pelo Android Open Source Project (AOSP) e adaptado por fabricantes, operadoras e desenvolvedores independentes. Essa evolução constante permite seu uso em uma variedade imensa de dispositivos, de celulares a geladeiras conectadas.

Arquitetura do Android

O Android é baseado no kernel do Linux, mas sua arquitetura inclui diversas camadas específicas que interagem para fornecer os serviços necessários aos aplicativos. Cada camada tem funções distintas, compondo uma pilha modular que permite o funcionamento seguro, escalável e adaptável do sistema.

📌 Resumo em camadas (de baixo para cima)

Ao compreender a arquitetura do Android, os estudantes conseguem visualizar a separação entre hardware, sistema e aplicações, além de identificar onde ocorrem as interações entre as camadas — algo essencial para entender segurança, desempenho e modularidade em sistemas modernos.

Sabores do Android

O Android é um sistema de código aberto, mantido no projeto AOSP (Android Open Source Project). Isso permite que fabricantes e desenvolvedores modifiquem, customizem e redistribuam suas próprias versões, criando os chamados "sabores" (flavors) do Android.

🍃 Android Puro (AOSP)

Versão oficial, sem modificações visuais ou de apps. Usada em dispositivos da linha Pixel e base para todas as outras versões.

🏭 Sabores de fabricantes (OEMs)

🌐 Sabores da comunidade (custom ROMs)

📱 Por que os sabores existem?

Dica para estudantes
Quer experimentar diferentes sabores?
Procure ROMs para seu celular em:
https://forum.xda-developers.com

Sempre faça backup antes de modificar o sistema!

Entender os sabores do Android ajuda a compreender o impacto das modificações feitas por fabricantes e como elas afetam desempenho, suporte, segurança e atualizações — temas essenciais ao estudar Sistemas Operacionais modernos.

Quem Usa o Android?

O Android é utilizado por centenas de fabricantes ao redor do mundo. Cada empresa pode adotar o Android Puro (AOSP) ou criar sua própria versão modificada. Essa liberdade gerou um ecossistema rico, mas também fragmentado.

🏆 Principais fabricantes que utilizam Android

🌍 Android além dos celulares

📊 Fragmentação de versões

Como cada fabricante controla suas atualizações, muitos dispositivos continuam com versões antigas do Android, o que representa um desafio em termos de segurança, compatibilidade e desempenho. A Google vem tentando mitigar isso com o projeto Treble e atualizações via Play Services.

Curiosidade
Mais de 70% dos smartphones vendidos no mundo rodam alguma versão do Android.
A China lidera em volume, seguida pela Índia e América Latina.

Conhecer os fabricantes e suas abordagens ajuda a compreender como um sistema operacional pode ser adaptado a contextos distintos e como isso influencia a experiência do usuário, o ciclo de vida do dispositivo e as políticas de atualização.

Componentes de um App Android

Aplicativos Android são compostos por componentes que interagem entre si e com o sistema operacional. Esses componentes são declarados no arquivo AndroidManifest.xml, e o sistema é responsável por gerenciar seu ciclo de vida.

📦 Quais são os componentes principais?

📑 Exemplo de AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.exemplo.app">

    <application>
        <activity android:name=".MainActivity" />
        <service android:name=".PlayerService" />
        <receiver android:name=".NetworkReceiver" />
    </application>

</manifest>

🧠 Ciclo de vida das atividades

Ciclo de Vida das Activities

Fonte: developer.android.com

🛠️ Exemplo básico de Activity

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Esses componentes trabalham juntos para criar uma experiência fluida e modular. O sistema operacional Android pode ativá-los e pausá-los conforme os recursos disponíveis e a interação do usuário, o que reforça a importância de conhecer seu ciclo de vida e limitações.

Execução e Gerenciamento de Processos no Android

Cada aplicativo Android roda em seu próprio processo Linux, com sua própria instância da máquina virtual ART (Android Runtime). Isso oferece isolamento entre apps e segurança, mas exige um sistema eficiente de gerenciamento de memória e processos para manter a performance.

🧬 O processo Zygote

Visualizando o processo Zygote
$ ps | grep zygote
u0_a0    1004   1  zygote64
u0_a0    1005   1  zygote32

⚙️ Multitarefa no Android

🧠 Garbage Collector (GC)

O Android usa coleta de lixo (GC) para liberar memória automaticamente:

📌 Importante para desenvolvedores:

Compreender como o Android executa e gerencia processos ajuda o estudante a visualizar a relação entre sistema operacional, desempenho e consumo de bateria, além de reforçar a importância do isolamento de processos em ambientes móveis.

Como Testar e Simular o Android

É possível explorar o Android em computadores usando ferramentas de simulação e virtualização. Isso é útil tanto para desenvolvimento quanto para estudos acadêmicos, permitindo que o sistema seja executado em diferentes configurações sem necessidade de hardware real.

🧪 1. Android Emulator (Android Studio)

Iniciando o emulador
$ cd ~/Android/Sdk/emulator
$ ./emulator -avd NomeDoEmulador

💻 2. Genymotion

genymotion.com

💿 3. Android-x86

android-x86.org

🌐 4. Navegadores e simuladores online

🔧 Dicas para o ambiente de testes

Essas ferramentas permitem que qualquer aluno simule o Android em um ambiente controlado, ideal para aulas práticas, testes de desempenho, análise de consumo de recursos e estudo do comportamento do sistema.

Segurança e Permissões no Android

A segurança no Android é baseada em uma combinação de arquitetura de processos, permissões, criptografia e validação de apps. Cada aplicativo é isolado em seu próprio ambiente de execução, e o sistema limita o acesso aos recursos sensíveis do dispositivo por meio de um modelo de permissões.

🔐 Sandbox por processo

📄 Permissões no Android

Apps devem declarar as permissões necessárias no AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Desde o Android 6 (Marshmallow), permissões sensíveis exigem autorização em tempo de execução:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
    != PackageManager.PERMISSION_GRANTED) {
  ActivityCompat.requestPermissions(this,
      new String[]{Manifest.permission.CAMERA}, 1);
}

🧱 Camadas de proteção

📌 Boas práticas de segurança

Dica de segurança
Evite apps que solicitam muitas permissões sem justificativa.
Prefira apps da Play Store com código aberto ou de fontes confiáveis.

O Android evoluiu para oferecer uma plataforma segura, mesmo em dispositivos de baixo custo. A segurança por design — incluindo sandboxing, permissões e verificações — é uma parte crítica do sistema operacional e deve ser entendida por qualquer profissional de Computação.

Android Open Source Project (AOSP)

O Android Open Source Project (AOSP) é a base de código aberto do Android. Ele fornece o sistema operacional Android puro, sem os serviços proprietários do Google, permitindo que qualquer desenvolvedor ou fabricante adapte, modifique e distribua sua própria versão do sistema.

📂 O que está incluído no AOSP?

Não inclui serviços da Google como:

🌍 Como os fabricantes usam o AOSP?

🧪 Exemplo de repositório AOSP

# Site oficial
https://source.android.com

# Clone do código (simplificado)
repo init -u https://android.googlesource.com/platform/manifest
repo sync

📦 ROMs baseadas em AOSP

O AOSP representa uma abordagem aberta ao desenvolvimento de sistemas operacionais móveis. Ele promove liberdade, inovação e transparência, mas também exige que fabricantes e desenvolvedores assumam a responsabilidade por suporte, atualização e segurança.

Quiz Interativo

Teste seus conhecimentos sobre GNU/Linux: