- Sintaxe:
<application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:allowClearUserData=["true" | "false"] android:allowCrossUidActivitySwitchFromBelow=["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
eallowTaskReparenting
, definem valores padrão para os atributos correspondentes dos elementos do componente. Outros, comodebuggable
,enabled
,description
eallowClearUserData
, definem valores para o aplicativo como um todo e não são substituídos pelos componentes.- atributos
android:allowTaskReparenting
- Define se as atividades definidas pelo aplicativo podem ser transferidas da
tarefa que as iniciou para a tarefa com que elas têm afinidade quando essa tarefa
é trazida para o primeiro plano. Será
"true"
se puderem ser transferidas e"false"
se precisarem permanecer com a tarefa em que foram iniciadas. O valor padrão é"false"
.O elemento
<activity>
tem o próprio atributoallowTaskReparenting
, que pode substituir o valor definido aqui. android:allowBackup
Define se o aplicativo pode participar da infraestrutura de backup e restauração. Se o atributo for definido como
"false"
, nenhum backup ou restauração do aplicativo será realizado, mesmo por um backup completo do sistema, que normalmente faria todos os dados do aplicativo serem salvos viaadb
. O valor padrão desse atributo é"true"
.Observação : em apps destinados ao Android 12 (nível 31 da API) ou versões mais recentes, esse comportamento varia. Nos dispositivos de alguns fabricantes, não é possível desativar a migração entre dispositivos. dos arquivos do seu app.
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 mais recente.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
Define se o aplicativo pode redefinir os dados do usuário. Esses dados incluem flags, por exemplo, se o usuário viu dicas introdutórias, bem como 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 saber mais, consulte Visão geral do backup de dados.
android:allowCrossUidActivitySwitchFromBelow
Especifica se as atividades abaixo desta na tarefa também podem iniciar outras atividades ou concluir a tarefa.
A partir do nível
Build.VERSION_CODES.VANILLA_ICE_CREAM
do SDK de destino, os apps pode ser impedido de iniciar novas atividades ou concluir sua tarefa, a menos que a atividade principal dessa tarefa pertencem ao mesmo UID por motivos de segurança.Definir essa flag como
true
permitirá que o app em inicialização ignore a restrição se esta atividade está no topo. Os apps que correspondem ao UID dessa atividade são sempre isentos.Para mais informações, consulte Inicialização de atividades protegidas em segundo plano.
android:allowNativeHeapPointerTagging
Define se o app ativa o recurso de inclusão de tag de ponteiro de heap. O valor padrão desse atributo é
"true"
.Observação: desativar esse recurso não resolve 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. Defina esse valor apenas para apps que se encaixam bem em uma das categorias específicas.
Precisa ser um dos valores constantes abaixo.
Valor Descrição accessibility
Apps principalmente de acessibilidade, como leitores de tela. audio
Apps que funcionam principalmente com áudio ou música, como players de música. game
Apps principalmente de jogos. image
Apps que funcionam principalmente com imagens ou fotos, como apps de câmera ou galeria. maps
Apps principalmente de mapas, como apps de navegação. news
Apps principalmente de notícias, como apps de jornais, revistas ou esportes. productivity
Apps principalmente de produtividade, como apps de armazenamento em nuvem ou ambiente de trabalho. social
Apps principalmente sociais, como apps de mensagens, comunicação, e-mail ou redes sociais. video
Apps que funcionam principalmente com vídeos ou filmes, como apps de streaming de vídeo. android:backupAgent
- Nome da classe que implementa o agente de backup do aplicativo,
uma subclasse de
BackupAgent
. Normalmente, o valor do atributo é um nome de classe totalmente qualificado, como"com.example.project.MyBackupAgent"
. No entanto, como abreviação, se o primeiro caractere do nome for um ponto, como".MyBackupAgent"
, ele será anexado ao nome do pacote especificado no elemento<manifest>
.Não há padrão. O nome precisa ser específico.
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 flag como
"true"
pode afetar o comportamento do app enquanto ele está ativo.O valor padrão é
"false"
, o que significa que o SO evita o backup do app enquanto ele está sendo executado em primeiro plano, por exemplo, um app de música que esteja tocando músicas ativamente com um serviço no estadostartForeground()
. android:banner
- Um recurso drawable
fornecendo 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. Portanto, especifique-o apenas para aplicativos com uma atividade que processa a intent
CATEGORY_LEANBACK_LAUNCHER
.Esse atributo é definido como uma referência a um recurso drawable que tem a imagem, como
"@drawable/banner"
. Não há um banner padrão.Para saber mais, consulte Oferecer um banner de tela inicial.
android:dataExtractionRules
Os aplicativos podem definir esse atributo como um recurso XML, em que especificam as regras que determinam quais arquivos e diretórios podem ser copiados do dispositivo como parte das operações de backup ou transferência.
Para saber mais sobre o formato do arquivo XML, consulte Backup e restauração.
android:debuggable
- Define se o aplicativo pode ser depurado, mesmo quando executado
em um dispositivo no modo de usuário. Será
"true"
se isso for possível, e"false"
se não for. O valor padrão é"false"
. android:description
- Texto legível pelo usuário sobre o app, sendo mais longo e mais descritivo que o rótulo do aplicativo. O valor é definido como uma referência a um recurso de string. Diferente do rótulo, ele não pode ser uma string bruta. Não há valor padrão.
android:enabled
- Define se o sistema Android pode instanciar componentes do
aplicativo. Será
"true"
se isso for possível, e"false"
se não for. Se o valor for"true"
, o atributoenabled
de cada componente vai determinar se ele será ativado. Se o valor for"false"
, os valores específicos do componente vão ser modificados, e todos os componentes serão desativados.O valor padrão é
"true"
. android:extractNativeLibs
- Esse atributo indica se o instalador do pacote extrai 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 deminSdkVersion
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 saber mais, consulte a
sintaxe de configuração XML
do 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 é 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 usar o
GWP-ASan, um recurso de alocação de memória nativo que ajuda a
encontrar bugs use-after-free e de estouro do buffer de heap.
O valor padrão é
"never"
. android:hasCode
- Define se o app contém código DEX, ou seja, código usando a
Linguagem de programação Kotlin ou Java.
Será
"true"
em caso positivo e"false"
em caso negativo. Quando o o valor for"false"
, o sistema não tentará carregar nenhum aplicativo ao iniciar componentes. O valor padrão é"true"
.Se o aplicativo incluir código nativo (C/C++), mas nenhum código DEX, ser definido como
"false"
. Se for definido como"true"
quando o APK não contiver código DEX, o app poderá falhar ao carregar.Essa propriedade precisa considerar o código incluído no aplicativo por dependências. Se a aplicação depende de um AAR que usa Código Java/Kotlin ou diretamente em um JAR,
app:hasCode
precisa ser"true"
ou omitido, porque esse é o padrão.Por exemplo, seu app pode oferecer suporte ao Play Feature Delivery e incluir módulos de recursos que não geram nenhum arquivo DEX, que são otimizados para bytecode na plataforma Android. Nesse caso, você precisa definir essa propriedade como
"false"
no arquivo de manifesto do módulo para evitar erros na execução. android:hasFragileUserData
- Define se é necessário mostrar ao usuário uma solicitação para
manter os dados do app quando ele for desinstalado. O valor padrão é
"false"
. android:hardwareAccelerated
- Define se a renderização com aceleração de hardware está ativada para todas
as atividades e visualizações no aplicativo. Será
"true"
se ela estiver ativada, e"false"
se não estiver. O valor padrão será"true"
se você definirminSdkVersion
outargetSdkVersion
como"14"
ou maior. Caso contrário, será"false"
.A partir do Android 3.0 (nível 11 da API), um renderizador de OpenGL com aceleração de hardware está disponível para que aplicativos possam 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 2D do OpenGL são aceleradas. Se você ativar o renderizador com aceleração de hardware, teste o aplicativo para que ele possa usar o renderizador sem erros.
Para mais informações, leia Aceleração de hardware guia.
android:icon
- Um ícone para todo o aplicativo e o ícone padrão de
cada um dos componentes do aplicativo. Confira os atributos
icon
individuais para os elementos<activity>
,<activity-alias>
,<service>
,<receiver>
e<provider>
.Esse atributo é definido como uma referência a um recurso drawable que contém a imagem, como
"@drawable/icon"
. Não há ícone padrão. android:isGame
- Define se o aplicativo é um jogo. O sistema pode agrupar aplicativos classificados
como jogos ou mostrá-los separadamente de outros apps. 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:
Valor Descriçã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 monitorar 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 é encerrado após o configurações foram restauradas durante uma operação de restauração completa do sistema. Operações de restauração de pacote único nunca fazem com que o app seja encerrado. Normalmente, as operações de restauração total do sistema só ocorrem uma vez, quando o smartphone é configurado pela primeira vez. Aplicativos de terceiros normalmente não precisam usar esse atributo.
O padrão é
"true"
, o que significa que, depois que o aplicativo acaba de processar os dados durante uma restauração completa do sistema, ele é encerrado.android:largeHeap
Se os processos do aplicativo são criados com uma heap Dalvik grande. Isso é válido para todos os processos criados para o aplicativo e para o primeiro aplicativo carregado em um processo. Se você estiver usando um ID de usuário compartilhado para permitir que vários aplicativos usem um processo, é importante que todos eles usem essa opção de forma consistente para evitar resultados imprevisíveis.
A maioria dos apps não precisa disso e prefere se concentrar em reduzir o uso geral de memória para melhorar o desempenho. Ativar esse atributo 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()
ougetLargeMemoryClass()
.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. Confira os atributos
label
individuais para os elementos<activity>
,<activity-alias>
,<service>
,<receiver>
e<provider>
.O rótulo é definido como uma referência a um recurso de string para que ele possa ser localizado como outras strings da 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 é definido como uma referência a um recurso drawable que tem
a imagem, como
"@drawable/logo"
. Não há um logotipo padrão. android:manageSpaceActivity
- O nome totalmente qualificado de uma subclasse
Activity
que o sistema inicia 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. A maioria dos aplicativos não precisa de uma. Na ausência de uma subclasse, o Android usa uma instância da classe de base
Application
. android:networkSecurityConfig
Especifica o nome do arquivo XML que contém a Configuração de segurança de rede do seu aplicativo. O valor é 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
- O nome de uma permissão necessária para que os clientes interajam
com o aplicativo. Esse atributo é uma forma conveniente de definir uma
permissão que se aplica a todos os componentes do aplicativo. Ele é
substituído ao configurar os atributos
permission
de componentes individuais.Para saber mais sobre permissões, consulte a seção Permissões na visão geral do manifesto do app e as Dicas de segurança.
android:persistent
- Define se o aplicativo permanece em execução o tempo todo. Será
"true"
em caso positivo e"false"
em caso negativo. O valor padrão é"false"
. Os aplicativos normalmente não definem essa flag. O modo de persistência se destina apenas a alguns apps do sistema. android:process
- O nome de um processo em que todos os componentes do aplicativo são 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 apps no mesmo processo, mas somente se ambos também compartilham um ID de usuário e estão registrados com o mesmo certificado.
Se o nome atribuído a esse atributo começar com dois pontos (
:
), um novo processo, particular ao aplicativo, será criado quando for necessário. Se o nome do processo começar com um caractere em letra minúscula, um processo global 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. A definição
desse atributo como
"true"
permite que o Backup Manager tente fazer uma restauração mesmo que um erro de correspondência de versão sugira que os dados são incompatíveis. Use com cautela.O valor padrão desse atributo é
"false"
. android:requestLegacyExternalStorage
-
Define se o aplicativo quer desativar o armazenamento com escopo.
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 exigido pelo aplicativo para funcionar.
Se o app exige uma
Account
, o valor desse atributo precisa corresponder ao tipo de autenticador de conta usado pelo app, conforme definido porAuthenticatorDescription
, por exemplo,"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, 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 app 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 é definido como
"true"
, o usuário pode iniciar a atividade nos modos de tela dividida e formato livre. Se você definir o atributo como"false"
, o app não 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"
não garante que não vai haver outros apps no modo de várias janelas visíveis na tela, por exemplo, o picture-in-picture, ou em outras telas. Portanto, a definição dessa flag não faz com que o app tenha acesso exclusivo a recursos.Para apps direcionados ao nível 24 da API ou mais recente, o padrão é
"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 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
resizeableActivity="true"
e a largura e altura mínimas da atividade principal estão dentro dos requisitos de várias janelas, o app oferece suporte a esse modo. SeresizeableActivity="false"
, o app não vai oferecer suporte ao modo de várias janelas, independente da largura e 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 são redimensionáveis.
- 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
android:restrictedAccountType
- Especifica o tipo de conta exigido pelo aplicativo e indica que os perfis restritos
podem acessar contas que pertencem ao usuário proprietário. Se o app exige que uma
Account
e perfis restritos possam acessar as contas do usuário principal, o valor desse atributo precisa corresponder ao tipo de autenticador de conta usado pelo app, conforme definido porAuthenticatorDescription
, por exemplo,"com.google"
.O valor padrão é nulo e indica que o aplicativo pode funcionar sem nenhuma conta.
Atenção: a especificação desse atributo permite que perfis restritos usem seu app com contas que pertencem ao usuário proprietário, o que pode revelar informações de identificação pessoal. Se a conta puder revelar dados pessoais, não use esse atributo. Em vez disso, declare o atributo
android:requiredAccountType
para tornar seu app indisponível para 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 ele for definido como
"true"
etargetSdkVersion
for definida como 17 ou superior, várias APIs RTL serão ativado e usado pelo sistema para que o app possa exibir layouts RTL. Se ele for definido como"false"
, ou se atargetSdkVersion
for definida como 16 ou anterior, as APIs RTL serão ignoradas ou não terão efeito, e o app vai se comportar da mesma maneira, independente da direção de layout associada à escolha de localidade do usuário. Ou seja, seus layouts sempre serão 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 só é instalado
usando
adb
. Não é possível publicá-lo no Google Play.O Android Studio adiciona esse atributo automaticamente quando você clica 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 saber mais, consulte Estilos e temas. android:uiOptions
- Opções extras para a interface de uma atividade. Precisa ser um destes valores:
Valor Descrição "none"
Nenhuma opção extra de IU. Esse é o padrão. "splitActionBarWhenNarrow"
Adiciona 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, por exemplo, 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 entre a seção de navegação de cima e a barra de baixo para mostrar ações necessárias. Isso garante que uma quantidade razoável de espaço seja disponibilizada para as ações necessárias e para os elementos de navegação e título na parte de cima. Os itens de menu não são divididos entre as duas barras. Eles sempre aparecem juntos. Para saber mais sobre a barra de apps, consulte Adicionar a 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"
. 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, como pilhas HTTP e FTP,DownloadManager
eMediaPlayer
, recusam 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 flag, já que 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 é processada por pilhas e componentes de nível mais alto, que podem respeitar essa flag lendo-a de
ApplicationInfo.flags
ouNetworkSecurityPolicy.isCleartextTrafficPermitted()
.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 o tráfego de texto não criptografado. Para saber mais, consulte
StrictMode.VmPolicy.Builder.detectCleartextNetwork()
.Esse atributo foi adicionado no nível 23 da API.
Essa sinalização 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 um valor
"true"
desativou o compilador JIT Dalvik.Esse atributo foi adaptado no nível 22 da API, em que o valor
"true"
desativou o compilador ART ahead-of-time (AOT).
A partir do AGP 4.2.0, a opção DSL
useLegacyPackaging
substitui o atributo de manifestoextractNativeLibs
. UseuseLegacyPackaging
no arquivobuild.gradle
do app em vez deextractNativeLibs
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.- introduzido no:
- Nível 1 da API
- confira também:
<activity>
<service>
<receiver>
<provider>
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2024-09-12 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Não contém as informações de que eu preciso"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Muito complicado / etapas demais"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Desatualizado"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema na tradução"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema com as amostras / o código"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Outro"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Fácil de entender"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Meu problema foi resolvido"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Outro"
}]
{"lastModified": "\u00daltima atualiza\u00e7\u00e3o 2024-09-12 UTC."}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-09-12 UTC."]]