Glossário da plataforma Android

Confira a lista abaixo para saber mais sobre a terminologia básica do Android Open Source Project (AOSP). Veja outras fontes para definições de termos-chave:

Consulte Programar com respeito para conferir exemplos de terminologia a serem usados ou evitados com o objetivo de manter um ecossistema mais inclusivo.

Apps

Arquivo APK (.apk)
Arquivo de pacote de apps Android com a extensão .apk. Cada app Android é compilado e empacotado em um único arquivo que inclui todo o código (arquivos DEX com a extensão .dex), recursos e o arquivo de manifesto. O arquivo de pacote de apps pode ter qualquer nome, mas precisa usar a extensão .apk, por exemplo, myExampleAppname.apk. Por conveniência, o arquivo de pacote de um app é geralmente denominado APK.

Relacionado: app

ação
Descrição de algo que envia uma intent quer que seja feito. Uma ação é um valor de string atribuído a uma intent. As strings de ação podem ser definidas pelo Android ou por um desenvolvedor de terceiros. Por exemplo, android.intent.action.VIEW para um URL da Web ou com.example.rumbler.SHAKE_PHONE para que um app personalizado faça o smartphone vibrar.

Relacionado: intent.

atividade
Uma única tela em um app compatível com código Java e derivada da classe Activity. Geralmente, uma atividade é visivelmente representada por uma janela em tela cheia que pode receber e processar eventos de interface e realizar tarefas complexas, devido ao objeto Window que é usado para a renderização de janelas. Uma atividade é geralmente mostrada em tela cheia, mas também pode flutuar ou ser transparente.
app
Da perspectiva de um componente, um app Android consiste em um ou mais destes componentes: atividades, serviços, listeners e receptores de intents. Da perspectiva do arquivo de origem, um app Android consiste em códigos, recursos e um único manifesto. Durante a compilação, esses arquivos são empacotados em um único arquivo denominado arquivo de pacote de apps (APK).

Relacionado: arquivo APK (.apk), atividade

broadcast receiver
Um objeto baseado na classe BroadcastReceiver que detecta intents que são transmitidas, em vez de serem enviadas para um único app ou atividade. O sistema envia uma intent de transmissão para todos os broadcast receivers interessados, que processam as intents em sequência.

Relacionados: intent, filtro de intent.

provedor de conteúdo
Uma camada de abstração de dados que pode ser usada para expor os dados do seu app para outros. Um provedor de conteúdo é criado na classe ContentProvider, que processa strings de consulta de conteúdo de um formato específico para retornar dados em um determinado formato. Consulte Provedores de conteúdo para mais informações.

Relacionado: URIs em Android

caixa de diálogo
Uma janela flutuante que funciona como um formulário simples. Uma caixa de diálogo pode ter apenas controles de botões e tem o objetivo de realizar uma ação simples (por exemplo, a escolha de um botão) e, talvez, retornar um valor. O objetivo de uma caixa de diálogo não é persistir na pilha de histórico, conter um layout complexo ou realizar ações complexas. O Android oferece uma caixa de diálogo simples padrão com botões opcionais ou você pode definir seu próprio layout de caixa de diálogo. A classe de base para caixas de diálogos é Dialog.

Relacionado: atividade

intent
Um objeto de mensagem que pode ser usado para iniciar ou se comunicar com outros apps ou atividades de maneira assíncrona. Um objeto de intent é uma instância de classe Intent. Inclui vários campos de critérios que você pode fornecer, para determinar qual app ou atividade recebe a intent e o que o destinatário faz ao processar a intent. Os critérios disponíveis incluem a ação visada, uma categoria, uma string de dados, o tipo MIME dos dados e uma classe de gerenciamento. Um app envia uma intent para o sistema Android em vez de diretamente para outro app ou atividade. O app pode enviar a intent para um único app de destino ou como uma transmissão, que, por sua vez, pode ser processada por vários apps em sequência. O sistema Android é responsável por resolver o melhor receptor disponível para cada intent, com base nos critérios oferecidos e nos filtros de intent definidos por outros apps. Para saber mais, consulte Intents e filtros de intent.

Relacionados: filtro de intent, broadcast receiver

filtro de intent
Um objeto de filtro que um app declara no arquivo de manifesto para informar ao sistema quais tipos de intent cada um dos componentes está disposto a aceitar e sob quais critérios. Usando um filtro de intent, um app pode expressar interesse em tipos de dados específicos, ações de intent, formatos de URI e assim por diante. Ao resolver uma intent, o sistema avalia todos os filtros de intent disponíveis em todos os apps e transmite a intent ao app ou atividade que melhor atende aos critérios. Para saber mais, consulte Intents e filtros de intent.

Relacionados: intent, broadcast receiver.

recursos
Componentes de app não programáticos externos ao código compilado do app, mas que podem ser carregados do código por um formato de referência conhecido. O Android é compatível com vários tipos de recurso, mas os recursos comuns de um app consistem em strings de interface, componentes de layout da interface, gráficos ou outros arquivos de mídia etc. Um app usa recursos para facilitar a localização e perfis e estados variados de dispositivo. Por exemplo, um app incluiria um conjunto separado de recursos para cada tipo de local ou de dispositivo compatível e poderia incluir recursos de layout específicos para a orientação de tela atual (paisagem ou retrato). Para mais informações sobre recursos, acesse Visão geral de recursos de app. Os recursos de um app são sempre armazenados nas subpastas res/* do projeto.
serviço
Um objeto de classe Service que é executado em segundo plano (sem uma presença de interface) para realizar várias ações persistentes, como tocar música ou monitorar a atividade da rede.

Relacionado: atividade

URIs no Android
O Android se baseia em strings de identificadores de recursos uniformes (URIs) para solicitar dados em um provedor de conteúdo (por exemplo, para extrair uma lista de contatos) e ações em uma intent (por exemplo, abrir uma página da Web em um navegador). O formato e o esquema do URI são especializados de acordo com o tipo de uso, e um app pode processar strings e esquemas de URI específicos da maneira que preferir. Alguns esquemas de URI são reservados pelos componentes do sistema. Por exemplo, solicitações de dados de um provedor de conteúdo precisam usar o content://. Em uma intent, um URI que usa um esquema http:// será processado pelo navegador.

Build

adb
O Android Debug Bridge é um app de depuração de linha de comando incluído no SDK. O comando adb oferece ferramentas para navegar pelo dispositivo, copiar ferramentas e encaminhar portas para depuração. Se você está desenvolvendo no Android Studio, o adb está integrado ao seu ambiente de desenvolvimento. O acrônimo é escrito com todas as letras minúsculas em texto simples. Quando se refere especificamente ao comando, ele é escrito como adb. Acesse Conferir se você tem o fastboot e o adb para mais informações.
Projeto Android
Um repositório Git em um host do Android Gerrit. Consulte Git source editor para mais informações sobre como o Git funciona.

Relacionado: repositório Git

impressão digital do build
Uma string exclusiva legível por humanos que contém informações do fabricante emitidas para cada build. Consulte Criar pacotes OTA para mais informações.
Ramificação Git - canônica
Versões distintas para cada repositório Git, como android-11.0.0_r1, encontradas em cs.android.com/android/platform/superproject/+/android-11.0.0_r1. Para mais informações, consulte Ramificações Git - Resumo de Ramificações.
Ramificação Git - local
Uma ramificação temporária no cliente Repo atual para fazer mudanças no código, começando com o comando repo start branch-name .. Essa é uma linha ativa de desenvolvimento. O commit mais recente em uma ramificação é chamado de ponta da ramificação.
Repositório do Git
Anteriormente chamado de projeto, ele faz parte da base do código que representa um componente ou tipo de dispositivo específico, como frameworks/base ou platform/packages/apps/Car/Media.

Relacionado: projeto Android

arquivo de manifesto
Um arquivo XML que descreve um conjunto de repositórios Git por ramificação, as revisões do Git em que esses repositórios são conferidos e o layout deles em um sistema de arquivos. Esse arquivo XML, normalmente chamado de default.xml, está associado a uma ramificação do Repo e descreve os repositórios e ramificações Git conferidos quando você inicializa e sincroniza a ramificação do Repo. Esse arquivo define os vários repositórios Git que a ferramenta Repo precisa buscar em uma finalização do cliente Repo para criar um produto (como o Android Automotive OS). Confira todos os manifestos em android.googlesource.com/platform/manifest/+refs. Confira o manifesto padrão incluído nos arquivos de manifesto para extrair os arquivos da plataforma Android (AOSP) em android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml. Consulte a Visão geral do manifesto de apps para informações sobre o app e o formato do manifesto do repo para desenvolvimento de plataformas.
atualização over-the-air (OTA)
Os dispositivos Android em uso podem receber e instalar atualizações OTA (over-the-air) para o sistema, softwares de app e regras de fuso horário. Consulte Atualizações OTA para saber mais.
Ramificação do repo
Uma coleção de repositórios Git capturados em um arquivo de manifesto que representa uma versão (build) da base de código do Android, como android11-gsi ou aosp-android-games-sdk, baixado com comandos repo init e repo sync. Consulte a descrição do arquivo de manifesto para ver links de todos os arquivos de manifesto e use a ferramenta Android Code Search para pesquisar os builds.
uprev
No geral, o uprev atualiza um subprojeto constituinte de um projeto maior para uma versão mais recente. Ele muda um nível de revisão para a próxima versão incrementada ou para a versão mais recente disponível. No caso de um pacote HIDL, um uprev de versão secundária atualiza o novo pacote para uma versão secundária mais alta, continuando com o mesmo nome e a versão principal como o pacote antigo. Isso é feito para manter a extensibilidade compatível com versões anteriores no nível do pacote. No caso da configuração do carregador de inicialização, um uprev atualiza o suporte ao cabeçalho de inicialização para a versão mais recente.

Plataforma

Android Runtime (ART) e Dalvik
O Android Runtime (ART) é o ambiente de execução gerenciado usado por apps e alguns serviços do sistema no Android. O ART é o ambiente de execução padrão para dispositivos com o Android 5.0 (nível 21 da API) e versão mais recente. O ART e o Dalvik, antecessor dele, foram originalmente criados especificamente para o Android Open Source Project. O ART como ambiente de execução abre o formato Dalvik Executable e a especificação de bytecode do Dex. O ART e o Dalvik são ambientes de execução compatíveis com bytecode do Dex. Por isso, os apps desenvolvidos para o Dalvik funcionarão com o ART.
linha de código
Uma linha de código contém a versão de um produto de software. Ela consiste em uma ou mais ramificações de um ou mais repositórios, todos frequentemente em desenvolvimento ativo simultâneo. A linha de código é o ponto de agregação e o destino da versão. Para mais informações sobre linhas de código, consulte Gerenciamento de software Android.
arquivo DEX (.dex)
Arquivo de código de app Android compilado. Os programas do Android são compilados em arquivos DEX (Dalvik Executable) com a extensão .dex que, por sua vez, são compactados em um único arquivo APK no dispositivo. Os arquivos DEX podem ser criados usando a tradução automática de apps compilados programados na linguagem Java.