Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
sintaxe:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
contido em:
<manifest>
pode conter:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
descrição:
A declaração do aplicativo. Esse elemento contém subelementos que declaram cada um dos componentes do aplicativo e tem atributos que podem afetar todos os componentes. Muitos desses atributos, como icon, label, permission, process, taskAffinity e allowTaskReparenting, definem valores padrão para os atributos correspondentes dos elementos do componente. Outros, como debuggable, enabled, description e allowClearUserData, definem valores para o aplicativo como um todo e não podem ser substituídos pelos componentes.
atributos
android:allowTaskReparenting
Se as atividades definidas pelo aplicativo podem ou não ser transferidas da tarefa que as iniciou para a tarefa com que elas têm afinidade quando essa tarefa for trazida para o primeiro plano: "true" se puderem ser transferidas, e "false" se precisarem permanecer com a tarefa na qual foram iniciadas. O valor padrão é "false".

O elemento <activity> tem o próprio atributo allowTaskReparenting, que pode substituir o valor definido aqui. Veja esse atributo para mais informações.

android:allowBackup

Permitir ou não que o aplicativo participe da infraestrutura de backup e restauração. Se o atributo for definido como false, o backup ou a restauração do aplicativo não serão realizados, nem mesmo por um backup completo do sistema, que faria todos os dados do aplicativo serem salvos via adb. O valor padrão desse atributo é true.

Observação: caso o app esteja sendo executado em um dispositivo com o Android 12 (nível 31 da API) ou versões mais recentes e seja destinado a essas versões, não é possível desativar a migração dos arquivos do app entre dispositivos. Nesse caso, essa funcionalidade é permitida automaticamente pelo sistema.

No entanto, ainda é possível desativar o backup e a restauração baseados na nuvem definindo esse atributo como false, mesmo que o app seja direcionado ao Android 12 (nível 31 da API) ou versões mais recentes.

Para mais informações, consulte a seção Backup e restauração da página que descreve as mudanças de comportamento para apps destinados ao Android 12 (nível 31 da API) ou versões mais recentes.

android:allowClearUserData

Permitir ou não que o aplicativo redefina os dados do usuário. Esses dados incluem sinalizações, por exemplo, se o usuário viu dicas introdutórias, e também configurações e preferências personalizáveis pelo usuário. O valor padrão desse atributo é true.

Observação: somente apps que fazem parte da imagem do sistema podem declarar esse atributo explicitamente. Os apps de terceiros não podem incluir esse atributo nos arquivos do manifesto.

Para ver mais informações, consulte a seção Restaurar dados do usuário em novos dispositivos.

android:allowNativeHeapPointerTagging

Indica se o app tem o recurso de inclusão de tag de ponteiro de heap ativado ou não. O valor padrão desse atributo é true.

Observação: desativar esse recurso não aborda o problema de integridade do código. Os dispositivos de hardware futuros podem não ter suporte a essa tag de manifesto.

Para mais informações, consulte Ponteiros com tag.

android:appCategory
Declara a categoria do app. As categorias são usadas para agrupar vários apps em grupos significativos, como ao resumir o uso da bateria, da rede ou do disco. Os apps só podem definir esse valor quando se encaixarem bem em uma das categorias específicas.

Precisa ser um dos valores constantes abaixo.

ValorDescrição
accessibilitySão apps principalmente de acessibilidade, como leitores de tela.
audioApps que funcionam principalmente com áudio ou música, como players de música.
gameApps que são principalmente de jogos.
imageApps que funcionam principalmente com imagens ou fotos, como apps de câmera ou de galeria.
mapsSão apps principalmente de mapas, como os de navegação.
newsSão apps principalmente de notícias, como jornais, revistas ou apps de esportes.
productivitySão apps principalmente de produtividade, como de armazenamento em nuvem ou ambiente de trabalho.
socialSão apps principalmente sociais, como de mensagens, comunicação, e-mail ou redes sociais.
videoApps que funcionam principalmente com vídeos ou filmes, como de streaming de vídeo.

android:backupAgent
Nome da classe que implementa o agente de backup do aplicativo, uma subclasse de BackupAgent. O valor do atributo precisa ser um nome de classe totalmente qualificado (por exemplo, "com.example.project.MyBackupAgent"). No entanto, como uma abreviação, se o primeiro caractere do nome for um ponto (por exemplo, ".MyBackupAgent"), ele vai ser anexado ao nome do pacote especificado no elemento <manifest>.

Não há padrão. O nome precisa ser especificado.

android:backupInForeground
Indica que as operações de Backup automático podem ser realizadas nesse app, mesmo se ele estiver em um estado equivalente ao primeiro plano. O sistema encerra um app durante a operação de Backup automático. Portanto, use esse atributo com cuidado. Definir dessa sinalização como "true" (verdadeira) pode afetar o comportamento do app enquanto ele estiver ativo.

O valor padrão é false, o que significa que o SO evita o backup do app quando ele estiver sendo executado em primeiro plano, como um app de música que esteja tocando músicas ativamente por um serviço no estado startForeground().

android:banner
Um recurso drawable que fornece um banner gráfico estendido para o item associado. Use com a tag <application> para fornecer um banner padrão a todas as atividades do aplicativo ou com a tag <activity> para fornecer um banner a uma atividade específica.

O sistema usa o banner para representar um app na tela inicial do Android TV. Como o banner aparece somente na tela inicial, ele só precisa ser especificado por aplicativos com uma atividade que processe a intent CATEGORY_LEANBACK_LAUNCHER.

Esse atributo precisa ser definido como uma referência a um recurso drawable que contenha a imagem (por exemplo, "@drawable/banner"). Não há um banner padrão.

Consulte Oferecer um banner de tela inicial em "Introdução a apps para TV" para ver mais informações.

android:dataExtractionRules

Os aplicativos podem definir esse atributo como um recurso XML, em que especificam as regras que determinam quais arquivos e diretórios você pode copiar do dispositivo como parte das operações de backup ou transferência.

Consulte o documento Mudanças no backup e na restauração para ver o formato do arquivo XML.

android:debuggable
Se o aplicativo pode ou não ser depurado, mesmo quando executado em um dispositivo no modo de usuário: "true" se for possível, e "false" se não for. O valor padrão é "false".
android:description
Texto legível pelo usuário sobre o aplicativo, mais longo e mais descritivo que o rótulo do aplicativo. O valor precisa ser definido como referência a um recurso de string. Diferentemente do rótulo, isso não pode ser uma string bruta. Não há valor padrão.
android:enabled
Se o sistema Android pode ou não instanciar componentes do aplicativo: "true" se puder, e "false" se não. Se o valor for "true", o atributo enabled de cada componente determina se ele vai ser ativado ou não. Se o valor for "false", os valores específicos do componente vão ser modificados. Todos os componentes vão ser desativados.

O valor padrão é "true".

android:extractNativeLibs

A partir do AGP 4.2.0, o atributo de manifesto extractNativeLibs foi substituído pela opção de DSL useLegacyPackaging. Use useLegacyPackaging no arquivo build.gradle do app em vez de extractNativeLibs no arquivo de manifesto para configurar o comportamento de compactação da biblioteca nativa. Para mais informações, consulte a nota da versão Usar a DSL para empacotar bibliotecas nativas compactadas.

Esse atributo indica se o instalador do pacote extrai ou não as bibliotecas nativas do APK para o sistema de arquivos. Se definido como "false", suas bibliotecas nativas vão ser armazenadas descompactadas no APK. Embora o APK possa ser maior, o aplicativo é carregado mais rapidamente, porque as bibliotecas são carregadas diretamente pelo APK durante a execução.

O valor padrão de extractNativeLibs depende de minSdkVersion e da versão do AGP que você está usando. Na maioria dos casos, o comportamento padrão é provavelmente o que você quer, e não é necessário definir esse atributo explicitamente.

android:fullBackupContent
Esse atributo aponta para um arquivo XML que contém regras de backup completas para o Backup automático. Essas regras determinam quais arquivos são salvos em backup. Para mais informações, consulte Sintaxe da configuração XML para o Backup automático.

Esse atributo é opcional. Se não for especificado, o Backup automático vai incluir a maioria dos arquivos do app por padrão. Para ver mais informações, consulte Arquivos que são salvos em backup.

android:fullBackupOnly
Esse atributo indica se é ou não necessário usar o Backup automático nos dispositivos em que ele está disponível. Se for definido como true, o app vai fazer o Backup automático quando instalado em um dispositivo com Android 6.0 (nível 23 da API) ou versões mais recentes. Em dispositivos mais antigos, o app ignora esse atributo e executa Backups de chave-valor.

O valor padrão é "false".

android:gwpAsanMode
Esse atributo indica se é necessário ou não usar o GWP-ASan, um recurso de alocador de memória nativo que ajuda a localizar os bugs use-after-free e de overflow do buffer de heap.

O valor padrão é "never".

android:hasCode
Se o aplicativo contém ou não um código: "true" se tiver, e "false" se não. Quando o valor for "false", o sistema não vai tentar carregar nenhum código do aplicativo ao iniciar componentes. O valor padrão é "true".

Por exemplo, se o app oferecer suporte ao Play Feature Delivery e incluir módulos de recursos que não geram nenhum arquivo DEX, que é otimizado para bytecode na plataforma Android, será necessário definir essa propriedade como false no arquivo de manifesto do módulo. Caso contrário, você talvez encontre erros de execução.

android:hasFragileUserData
Quando o usuário desinstala um app, indica se é necessário ou não mostrar uma solicitação para manter os dados do app. O valor padrão é "false".
android:hardwareAccelerated
Se a renderização acelerada por hardware vai ser ativada ou não para todas as atividades e visualizações nesse aplicativo: "true" se ela precisar estar ativada, e "false" se não precisar. O valor padrão é "true" se você tiver definido minSdkVersion ou targetSdkVersion como "14" ou versões mais recentes. Caso contrário, o valor é "false".

No Android 3.0 (nível 11 da API) e versões mais recentes, um renderizador de OpenGL acelerado por hardware está disponível para aplicativos, para melhorar o desempenho de várias operações comuns de gráficos 2D. Quando o renderizador acelerado por hardware estiver ativado, a maioria das operações em Canvas, Paint, Xfermode, ColorFilter, Shader e Camera vão ser aceleradas. Isso resulta em animações mais suaves, rolagem mais uniforme e melhor responsividade geral, mesmo para aplicativos que não fazem uso explícito das bibliotecas OpenGL do framework.

Nem todas as operações OpenGL 2D são aceleradas. Se você ativar o renderizador acelerado por hardware, teste o aplicativo para garantir que ele possa usar o renderizador sem erros.

Para mais informações, leia o guia Aceleração de hardware.

android:icon
Um ícone para todo o aplicativo e o ícone padrão de cada um dos componentes do aplicativo. Veja os atributos icon individuais para os elementos <activity>, <activity-alias>, <service>, <receiver> e <provider>.

Esse atributo precisa ser definido como uma referência a um recurso drawable que contém a imagem (por exemplo, "@drawable/icon"). Não há um ícone padrão.

android:isGame
Se o aplicativo é ou não um jogo. O sistema pode agrupar aplicativos classificados como jogos ou os exibir separadamente de outros aplicativos.

O padrão é false.

android:isMonitoringTool

Indica que o aplicativo foi projetado para monitorar outros indivíduos.

Observação: se um app declarar esse atributo no manifesto, é necessário seguir a política do Stalkerware para publicar o app no Google Play.

Não há valor padrão. O desenvolvedor precisa especificar um destes valores:

ValorDescrição
"parental_control"O app é focado no controle da família e é direcionado especificamente aos familiares responsáveis que querem manter as crianças seguras.
"enterprise_management"O app atende a empresas que querem gerenciar e rastrear os dispositivos dados aos funcionários.
"other"O app atende a um caso de uso não especificado nesta tabela.
android:killAfterRestore
Se o aplicativo em questão precisa ser encerrado depois que as configurações forem restauradas durante uma operação de restauração completa do sistema. Operações de restauração de pacote único nunca fazem com que o aplicativo seja encerrado. Normalmente, as operações de restauração total do sistema só ocorrem uma vez, quando o smartphone é configurado pela primeira vez. Os aplicativos de terceiros não precisam usar esse atributo normalmente.

O padrão é true, o que significa que após o aplicativo ter concluído o processamento dos dados durante uma restauração completa do sistema, ele vai ser encerrado.

android:largeHeap
Se os processos do aplicativo precisam ser criados com um heap Dalvik grande. Isso se aplica a todos os processos criados para o aplicativo. Aplica-se somente ao primeiro aplicativo carregado em um processo. Se você estiver usando um ID do usuário compartilhado para permitir que vários aplicativos usem um processo, é importante que todos eles usem essa opção de forma consistente, ou vão ter resultados imprevisíveis.

A maioria dos apps não precisa disso e se concentram na redução do uso geral de memória para melhorar o desempenho. Ativar esse recurso também não garante um aumento fixo na memória disponível, já que alguns dispositivos são limitados pela memória total disponível.

Para consultar o tamanho da memória disponível no momento da execução, use os métodos getMemoryClass() ou getLargeMemoryClass().

android:label
Um rótulo legível pelo usuário para o aplicativo como um todo e um rótulo padrão para cada um dos componentes do aplicativo. Veja os atributos label individuais para os elementos <activity>, <activity-alias>, <service>, <receiver> e <provider>.

O rótulo vai ser definido como referência a um recurso de string, para que possa ser localizado como outras strings na interface do usuário. No entanto, para facilitar o desenvolvimento do aplicativo, ele também pode ser definido como uma string bruta.

android:logo
Um logotipo para o aplicativo como um todo e o logotipo padrão para atividades.

Esse atributo precisa ser definido como uma referência a um recurso drawable contendo a imagem (por exemplo, "@drawable/logo"). Não há um logotipo padrão.

android:manageSpaceActivity
O nome totalmente qualificado de uma subclasse "Activity" (atividade) que o sistema pode iniciar para permitir que os usuários gerenciem a memória ocupada pelo aplicativo no dispositivo. A atividade também é declarada com um elemento <activity>.
android:name
Nome totalmente qualificado de uma subclasse Application implementada para o aplicativo. Quando o processo do aplicativo é iniciado, essa classe é instanciada antes de qualquer um dos componentes do aplicativo.

A subclasse é opcional. Ela não é necessária para a maioria dos aplicativos. Na ausência de uma subclasse, o Android usa uma instância da classe "Application" (aplicativo) base.

android:networkSecurityConfig

Especifica o nome do arquivo XML que contém a Configuração de segurança de rede do aplicativo. O valor precisa ser uma referência ao arquivo de recurso XML que contém a configuração.

Esse atributo foi adicionado no nível 24 da API.

android:permission
Nome de uma permissão que os clientes precisam ter para interagir com o aplicativo. Esse atributo é uma forma conveniente de definir uma permissão que se aplica a todos os componentes do aplicativo. Ele pode ser substituído pela configuração dos atributos permission de componentes individuais.

Para mais informações sobre permissões, consulte a seção Permissões na introdução e outro documento, chamado Segurança e permissões.

android:persistent
Se o aplicativo precisa ou não permanecer em execução o tempo todo: "true" se ele precisar, e "false" se não precisar. O valor padrão é "false". Os aplicativos normalmente não definem essa sinalização. O modo de persistência se destina apenas a alguns aplicativos do sistema.
android:process
O nome de um processo em que todos os componentes do aplicativo precisam ser executados. Cada componente pode substituir esse padrão definindo o próprio atributo process.

Por padrão, o Android cria um processo para um aplicativo quando o primeiro componente precisa ser executado. Então, todos os componentes são executados nesse processo. O nome do processo padrão corresponde ao nome do pacote definido pelo elemento <manifest>.

Ao definir esse atributo como um nome de processo compartilhado com outro aplicativo, você pode organizar componentes dos dois aplicativos no mesmo processo, mas somente se os dois aplicativos também compartilharem um ID do usuário e estiverem registrados com o mesmo certificado.

Se o nome atribuído a esse atributo começar com dois pontos (":"), um novo processo, particular para o aplicativo, vai ser criado quando necessário. Se o nome do processo começar com um caractere em letra minúscula, um processo global vai ser criado com esse nome. Um processo global pode ser compartilhado com outros aplicativos, reduzindo o uso de recursos.

android:restoreAnyVersion
Indica que o aplicativo está preparado para tentar uma restauração de qualquer conjunto de dados salvos em backup, mesmo que o backup tenha sido armazenado por uma versão mais recente do aplicativo que a instalada no dispositivo atualmente. Definir esse atributo como true vai permitir que o Backup Manager tente restaurar mesmo quando uma correspondência incorreta de versão sugerir que os dados são incompatíveis. Use com cautela.

O valor padrão desse atributo é false.

android:requestLegacyExternalStorage

Indica se o aplicativo quer desativar o armazenamento com escopo ou não.

Observação: dependendo das modificações relacionadas à compatibilidade da política ou do app, o sistema pode não atender a essa solicitação de desativação.

android:requiredAccountType
Especifica o tipo de conta necessário para o funcionamento do aplicativo. Se o app exigir uma Account, o valor desse atributo precisa corresponder ao tipo de autenticador de conta usado pelo app, conforme definido por AuthenticatorDescription, como "com.google".

O valor padrão é nulo e indica que o aplicativo pode funcionar sem nenhuma conta.

Como perfis restritos não podem adicionar contas no momento, especificar esse atributo deixa o app indisponível para esses perfis, a menos que você também declare android:restrictedAccountType com o mesmo valor.

Atenção: se os dados da conta revelarem informações de identificação pessoal, é importante declarar esse atributo e deixar android:restrictedAccountType nulo, para que os perfis restritos não consigam usar o aplicativo e acessar informações pessoais que pertençam ao usuário proprietário.

Esse atributo foi adicionado no nível 18 da API.

android:resizeableActivity

Especifica se o app oferece suporte à exibição em várias janelas. É possível definir esse atributo no elemento <activity> ou <application>.

Se o atributo for definido como "true" (verdadeiro), o usuário vai poder iniciar a atividade nos modos de tela dividida e de forma livre. Se você definir o atributo como "false" (falso), o app não vai poder ser testado nem otimizado para um ambiente de várias janelas. O sistema ainda pode colocar a atividade no modo de várias janelas com o modo de compatibilidade aplicado. Definir esse atributo como "true" também não garante que não haverá outros apps no modo de várias janelas visíveis na tela (como o picture-in-picture) ou em outras telas. Portanto, definir essa sinalização não garante que o app tenha acesso exclusivo a recursos.

Se o app for destinado ao nível 24 da API ou mais recente, mas você não especificar um valor para esse atributo, ele vai ser definido como "true".

Se o app for direcionado ao nível 31 da API ou mais recente, esse atributo vai funcionar de forma diferente em telas pequenas e grandes:

  • Telas grandes (com 600 dp ou mais): todos os apps oferecem suporte ao modo de várias janelas. O atributo indica se um app pode ser redimensionado (não se ele oferece suporte ao modo de várias janelas). Se resizeableActivity="false", o app vai ser colocado em modo de compatibilidade quando necessário para atender às dimensões de exibição.
  • Telas pequenas (com menos de 600 dp): se a resizeableActivity="true" e a largura e a altura mínimas da atividade principal estiverem dentro dos requisitos de várias janelas, o app oferece suporte a esse modo. Se resizeableActivity="false", o app não vai oferecer suporte ao modo de várias janelas, independentemente da largura e da altura mínimas da atividade.

Observação: os fabricantes de dispositivos podem substituir o comportamento do nível 31 da API.

Esse atributo foi adicionado no nível 24 da API.

Observação: o valor da atividade raiz de uma tarefa é aplicado a todas as atividades extras iniciadas nela. Ou seja, se a atividade raiz de uma tarefa for redimensionável, o sistema vai tratar todas as outras atividades dela como redimensionáveis. Se a atividade raiz não for redimensionável, as outras atividades na tarefa não vão ser redimensionáveis.

android:restrictedAccountType
Especifica o tipo de conta exigido pelo aplicativo e indica que os perfis restritos têm permissão para acessar essas contas que pertencem ao usuário proprietário. Se o app exigir que uma Account e perfis restritos tenham permissão para acessar contas do usuário principal, o valor desse atributo precisa corresponder ao tipo de autenticador de conta usado pelo app, conforme definido por AuthenticatorDescription, como "com.google".

O valor padrão é nulo e indica que o aplicativo pode funcionar sem nenhuma conta.

Atenção: especificar esse atributo permite que perfis restritos usem o app com contas que pertencem ao usuário proprietário, que podem revelar informações de identificação pessoal. Se a conta revelar detalhes pessoais, não use esse atributo. Em vez disso, declare o atributo android:requiredAccountType para deixar o app indisponível em perfis restritos.

Esse atributo foi adicionado no nível 18 da API.

android:supportsRtl
Declara se o aplicativo está disposto a oferecer suporte a layouts da direita para a esquerda (RTL, na sigla em inglês).

Se for definido como true, e a targetSdkVersion for definida como 17 ou mais recente, várias APIs RTL vão ser ativadas e usadas pelo sistema para que o app possa exibir layouts RTL. Se for definido como false, ou se a targetSdkVersion for definida como 16 ou mais antiga, as APIs RTL vão ser ignoradas ou não vão ter efeito e o app vai se comportar da mesma forma, independente da direção de layout associada à opção de localidade do usuário. Os layouts vão ser sempre da esquerda para a direita.

O valor padrão desse atributo é false.

Esse atributo foi adicionado no nível 17 da API.

android:taskAffinity
Um nome de afinidade que se aplica a todas as atividades no aplicativo, exceto àquelas que definem uma afinidade diferente com os próprios atributos taskAffinity. Veja esse atributo para mais informações.

Por padrão, todas as atividades em um aplicativo compartilham a mesma afinidade. O nome dessa afinidade é igual ao nome do pacote definido pelo elemento <manifest>.

android:testOnly
Indica se o aplicativo é destinado apenas a testes. Por exemplo, é possível que ele exponha funcionalidades ou dados fora de si mesmo e cause uma violação de segurança, mas isso é útil para fazer testes. Esse tipo de APK pode ser instalado somente por adb. Não é possível o publicar no Google Play.

O Android Studio adiciona esse atributo automaticamente quando você clicar em Executar .

android:theme
Uma referência a um recurso de estilo que define um tema padrão para todas as atividades no aplicativo. Atividades individuais podem substituir o padrão definindo os próprios atributos theme. Para mais informações, consulte o guia do desenvolvedor de Estilos e temas.
android:uiOptions
Opções extras para a IU de uma atividade.

Precisa ser um dos valores abaixo.

ValorDescrição
"none"Nenhuma opção extra de IU. Esse é o padrão.
"splitActionBarWhenNarrow"Adicione uma barra na parte de baixo da tela para mostrar ações necessárias na barra de apps, também conhecida como barra de ações, quando restrita ao espaço horizontal, como ao usar o modo retrato em um dispositivo. Em vez de um pequeno número de ações necessárias que aparecem na barra de apps na parte de cima da tela, a barra de apps é dividida na seção de navegação em cima e na barra abaixo para ações necessárias. Isso garante que uma quantidade razoável de espaço seja disponibilizada não apenas para as ações necessárias, mas também para navegação e elementos de título na parte de cima. Os itens de menu não são divididos entre as duas barras, eles sempre aparecem juntos.

Para mais informações sobre a barra de apps, consulte a aula de treinamento Adicionar barra de apps.

Esse atributo foi adicionado no nível 14 da API.

android:usesCleartextTraffic
Indica se o app pretende usar tráfego de rede de texto não criptografado, como HTTP de texto não criptografado. O valor padrão para apps direcionados ao nível 27 da API ou a versões anteriores é "true". Os apps direcionados ao nível 28 da API ou mais recente têm "false" como valor padrão.

Quando o atributo é definido como "false", os componentes de plataforma (por exemplo, pilhas HTTP e FTP, DownloadManager e MediaPlayer) vão recusar as solicitações do app para usar tráfego de texto não criptografado. É altamente recomendado que bibliotecas de terceiros respeitem essa configuração também. A principal razão para evitar o tráfego de texto não criptografado é a falta de confidencialidade, autenticidade e proteção contra adulteração. Um invasor da rede pode espionar e modificar os dados transmitidos sem ser detectado.

Essa sinalização é respeitada com base no melhor resultado, porque é impossível impedir todo o tráfego de texto não criptografado de aplicativos para Android, considerando o nível de acesso fornecido a eles. Por exemplo, não é esperado que a API Socket respeite essa sinalização, porque ela não pode determinar se o tráfego é de texto não criptografado. No entanto, a maior parte do tráfego de rede dos aplicativos é tratada por pilhas/componentes de nível mais alto, que podem ler essa sinalização lendo de ApplicationInfo.flags ou NetworkSecurityPolicy.isCleartextTrafficPermitted() para a respeitar.

Observação: WebView respeita esse atributo para aplicativos direcionados ao nível 26 da API e mais recentes.

Durante o desenvolvimento do app, o StrictMode pode ser usado para identificar todo tráfego de texto não criptografado do app. Consulte StrictMode.VmPolicy.Builder.detectCleartextNetwork() para ver mais informações.

Esse atributo foi adicionado no nível 23 da API.

Essa sinalização vai será ignorada no Android 7.0 (nível 24 da API) e versões mais recentes se houver uma configuração de segurança de rede do Android.

android:vmSafeMode
Indica se o app quer que a máquina virtual (VM) funcione no modo de segurança. O valor padrão é "false".

Esse atributo foi adicionado no nível 8 da API, em que o valor "true" (verdadeiro) desativou o compilador Dalvik just-in-time (JIT).

Esse atributo foi adaptado no nível 22 da API, em que o valor "true" (verdadeiro) desativou o compilador ART ahead-of-time (AOT).

introduzido em:
Nível 1 da API
veja também:
<activity>
<service>
<receiver>
<provider>