Glossário da plataforma Android

Veja a lista abaixo para aprender a terminologia básica do Android Open Source Project (AOSP). Aqui estão outras fontes para definições de termos-chave:

Consulte Codificação com respeito para exemplos de terminologia a usar e evitar para um ecossistema mais inclusivo.

Aplicativos

Arquivo .apk
Arquivo do pacote do aplicativo Android. Cada aplicativo Android é compilado e empacotado em um único arquivo que inclui todo o código do aplicativo (arquivos .dex), recursos, ativos e arquivo de manifesto. O arquivo do pacote do aplicativo pode ter qualquer nome, mas deve usar a extensão .apk . Por exemplo: myExampleAppname.apk . Por conveniência, um arquivo de pacote de aplicativo costuma ser chamado de ".apk".

Relacionado: Aplicativo .

Ação
Uma descrição de algo que um remetente de Intent deseja que seja feito. Uma ação é um valor de string atribuído a um Intent. As strings de ação podem ser definidas pelo Android ou por um desenvolvedor terceirizado. Por exemplo, android.intent.action.VIEW para um URL da Web ou com.example.rumbler.SHAKE_PHONE para um aplicativo personalizado para vibrar o telefone.

Relacionado: Intenção .

Atividade
Uma única tela em um aplicativo, com suporte a código Java, derivado da classe Activity . Mais comumente, uma atividade é visivelmente representada por uma janela de tela cheia que pode receber e manipular eventos de UI e executar tarefas complexas, por causa da Janela que ela usa para renderizar sua janela. Embora uma atividade normalmente seja em tela inteira, ela também pode ser flutuante ou transparente.
Aplicativo
Do ponto de vista dos componentes, um aplicativo Android consiste em uma ou mais atividades, serviços, ouvintes e receptores de intenções. Do ponto de vista do arquivo de origem, um aplicativo Android consiste em código, recursos, ativos e um único manifesto. Durante a compilação, esses arquivos são empacotados em um único arquivo denominado arquivo de pacote de aplicativo (.apk).

Relacionado: .apk , Atividade

Receptor de radiodifusão
Uma classe de aplicativo que escuta Intents que são transmitidas, em vez de serem enviadas para um único aplicativo/atividade de destino. O sistema entrega uma intenção de transmissão a todos os receptores de transmissão interessados, que tratam a intenção sequencialmente.

Relacionado: Intenção , Filtro de Intenção .

Provedor de conteúdo
Uma camada de abstração de dados que você pode usar para expor com segurança os dados do seu aplicativo a outros aplicativos. Um provedor de conteúdo é criado na classe ContentProvider , que manipula strings de consulta de conteúdo de um formato específico para retornar dados em um formato específico. Consulte o tópico Provedores de Conteúdo para obter mais informações.

Relacionado: Uso de URI no Android

Diálogo
Uma janela flutuante que funciona como um formato leve. Uma caixa de diálogo pode ter apenas controles de botão e destina-se a executar uma ação simples (como a escolha de um botão) e talvez retornar um valor. Uma caixa de diálogo não se destina a persistir na pilha de histórico, conter layout complexo ou executar ações complexas. O Android fornece uma caixa de diálogo simples padrão com botões opcionais, embora você possa definir seu próprio layout de caixa de diálogo. A classe base para diálogos é Dialog .

Relacionado: Atividade .

Intenção
Um objeto de mensagem que você pode usar para iniciar ou se comunicar com outros aplicativos/atividades de forma assíncrona. Um objeto Intent é uma instância de Intent . Inclui vários campos de critérios que você pode fornecer para determinar qual aplicativo/atividade recebe o Intent e o que o receptor faz ao manipular o Intent. Os critérios disponíveis incluem a ação desejada, uma categoria, uma sequência de dados, o tipo MIME dos dados, uma classe de tratamento e outros. Um aplicativo envia um Intent para o sistema Android, em vez de enviá-lo diretamente para outro aplicativo/atividade. O aplicativo pode enviar o Intent para um único aplicativo de destino ou pode enviá-lo como uma transmissão, que por sua vez pode ser tratada por vários aplicativos sequencialmente. O sistema Android é responsável por resolver o melhor receptor disponível para cada Intent, com base nos critérios fornecidos no Intent e nos Filtros de Intent definidos por outras aplicações. Para obter mais informações, consulte Intents e filtros de intents .

Relacionado: Filtro de Intenção , Receptor de Transmissão .

Filtro de intenção
Um objeto de filtro que uma aplicação declara em seu arquivo de manifesto, para informar ao sistema quais tipos de Intents cada um de seus componentes está disposto a aceitar e com quais critérios. Por meio de um filtro de intenção, um aplicativo pode expressar interesse em tipos de dados específicos, ações de intenção, formatos de URI e assim por diante. Ao resolver um Intent, o sistema avalia todos os filtros de intent disponíveis em todos os aplicativos e passa o Intent para o aplicativo/atividade que melhor corresponde ao Intent e aos critérios. Para obter mais informações, consulte Intents e filtros de intents .

Relacionado: Intenção , Receptor de Transmissão .

Recursos
Componentes de aplicativo não programáticos que são externos ao código do aplicativo compilado, mas que podem ser carregados a partir do código do aplicativo usando um formato de referência conhecido. O Android oferece suporte a vários tipos de recursos, mas os recursos de um aplicativo típico consistiriam em strings de UI, componentes de layout de UI, gráficos ou outros arquivos de mídia e assim por diante. Um aplicativo usa recursos para oferecer suporte eficiente à localização e a diversos perfis e estados de dispositivos. Por exemplo, um aplicativo incluiria um conjunto separado de recursos para cada tipo de local ou dispositivo compatível e poderia incluir recursos de layout específicos para a orientação atual da tela (paisagem ou retrato). Para obter mais informações sobre recursos, consulte Recursos e ativos . Os recursos de uma aplicação são sempre armazenados nas subpastas res/* do projeto.
Serviço
Um objeto da classe Service que é executado em segundo plano (sem qualquer presença de UI) para executar diversas ações persistentes, como reproduzir música ou monitorar atividades de rede.

Relacionado: Atividade

URIs no Android
O Android usa strings URI (identificador uniforme de recursos) como base para solicitar dados em um provedor de conteúdo (como para recuperar uma lista de contatos) e para solicitar ações em um Intent (como abrir uma página da Web em um navegador). O esquema e o formato do URI são especializados de acordo com o tipo de uso, e um aplicativo pode lidar com esquemas e strings de URI específicos da maneira que desejar. Alguns esquemas de URI são reservados por componentes do sistema. Por exemplo, solicitações de dados de um provedor de conteúdo devem usar content:// . Em um Intent, um URI usando um esquema http:// será tratado pelo navegador.

Construir

adb
Android Debug Bridge, um aplicativo de depuração de linha de comando incluído no SDK. Ele fornece ferramentas para navegar no dispositivo, copiar ferramentas no dispositivo e encaminhar portas para depuração. Se você estiver desenvolvendo no Android Studio, o adb estará integrado ao seu ambiente de desenvolvimento. Consulte Android Debug Bridge para obter mais informações.
Projeto Android
Um repositório Git em um host Android Gerrit. Consulte Ferramentas de controle de origem > Gerrit para obter mais informações.
Construir impressão digital
A impressão digital da compilação é uma string exclusiva e legível que contém informações do fabricante emitidas para cada compilação. Consulte Noções básicas sobre impressões digitais de construção para obter mais informações.
Ramo Git - canônico
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 . Consulte Ramificação do Git - Ramos resumidos para obter mais informações.
Ramo Git - local
Uma ramificação temporária no cliente Repo atual para fazer alterações no código, iniciada com o repo start branch-name . comando. uma linha ativa de desenvolvimento. O commit mais recente em um branch é chamado de ponta desse branch.
Repositório Git
Às vezes chamado de projeto, é uma parte da base de código que representa um componente ou tipo de dispositivo específico, como frameworks/base ou platform/packages/apps/Car/Media .
Arquivo de manifesto
Um arquivo XML que descreve um agrupamento de repositórios Git por branch, as revisões do Git nas quais fazer check-out desses repositórios e seu layout em um sistema de arquivos. Este arquivo XML, normalmente denominado default.xml , está associado a uma ramificação Repo e descreve os repositórios Git e as ramificações Git verificadas quando você inicializa e sincroniza a ramificação Repo. Este arquivo define os vários repositórios Git que a ferramenta Repo deve buscar em um checkout do cliente Repo para criar um produto (como o Android Automotive OS). Veja todos os manifestos em android.googlesource.com/platform/manifest/+refs . Consulte o manifesto padrão incluído nos arquivos AndroidManifest para obter arquivos da plataforma Android (AOSP) em android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml . Consulte o arquivo AndroidManifest.xml para obter informações do aplicativo e o formato de manifesto do repositório para desenvolvimento da plataforma.
Atualização over-the-air (OTA)
Os dispositivos Android em campo podem receber e instalar atualizações over-the-air (OTA) no sistema, software de aplicativo e regras de fuso horário. Consulte Atualizações OTA para obter mais informações.
Filial de repositório
Uma coleção de repositórios Git capturados em um arquivo AndroidManifest que representa uma versão (compilação) da base de código do Android, como android11-gsi ou aosp-android-games-sdk , baixada por meio dos comandos repo init e repo sync . Consulte a descrição do arquivo de manifesto para obter links para todos os arquivos de manifesto e use https://cs.android.com/ para pesquisar suas compilações.
acelerar
Em geral, o uprev atualiza um subprojeto constituinte de um projeto maior para uma versão mais recente. Um uprev altera 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, para manter a extensibilidade compatível com versões anteriores em nível de pacote , um uprev de versão secundária atualiza o novo pacote para uma versão secundária superior, mantendo o mesmo nome e versão principal do pacote antigo. No caso da configuração do Bootloader , um uprev atualiza o suporte da versão do cabeçalho de inicialização para a versão mais recente.

Plataforma

Tempo de execução do Android (ART) e Dalvik
O tempo de execução do Android (ART) é o tempo de execução gerenciado usado por aplicativos e alguns serviços do sistema no Android. O tempo de execução do Android (ART) é o tempo de execução padrão para dispositivos que executam o Android 5.0 (API de nível 21) e versões posteriores. ART e seu antecessor Dalvik foram originalmente criados especificamente para o Android Open Source Project. ART como tempo de execução executa o formato Dalvik Executable e a especificação de bytecode Dex. ART e Dalvik são tempos de execução compatíveis executando bytecode Dex, portanto, os aplicativos desenvolvidos para Dalvik devem funcionar quando executados com ART.
Linha de código
Uma linha de código contém o lançamento de um produto de software. Consiste em uma ou mais ramificações de um ou mais repositórios, todos frequentemente em desenvolvimento ativo ao mesmo tempo. A linha de código é o ponto de agregação e o destino do lançamento. Para obter mais informações sobre linhas de código, consulte Gerenciamento de software Android .
arquivo .dex
Arquivo de código do aplicativo Android compilado.

Os programas Android são compilados em arquivos .dex (Dalvik Executable), que por sua vez são compactados em um único arquivo .apk no dispositivo. Os arquivos .dex podem ser criados traduzindo automaticamente aplicativos compilados escritos na linguagem de programação Java.