Notas da versão do Android 12

Veja aqui um resumo dos principais recursos do Android 12 e links para mais informações. Os resumos de recursos são organizados de acordo com o local da documentação do recurso neste site.

Arquitetura

Atualizações da classe AlwaysOnHotwordDetector

A partir do Android 12, a classe AlwaysOnHotwordDetector, incluindo o método de fábrica dela, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector(), passou a ser uma API do sistema (@SystemApi) em vez de uma API pública. A classe AlwaysOnHotwordDetector é direcionada para ser usada por apps do Google Assistente com privilégios no nível do sistema, que geralmente são agrupados pela versão do SO. No Android 11 e versões anteriores, a API é protegida por verificações que garantem que o autor da chamada seja o app do Google Assistente ativo no momento, o que torna a API inutilizável para outros apps de terceiros.

Além disso, o Android 12 inclui melhorias do recurso de gatilho de som para aprimorar a atribuição e a aplicação de permissões relacionadas ao uso do microfone usando a API de gatilho de som. O uso do microfone, incluindo o uso indireto, como nas classes SoundTriggerManager ou AlwaysOnHotwordDetector, é atribuído ao pacote de origem (app Google Assistente) que chama a classe AlwaysOnHotwordDetector. Isso melhora a privacidade do usuário e a transparência nos pacotes que usam o microfone. No Android 11 e versões anteriores, o uso do microfone é atribuído ao usuário do sistema porque o pacote de origem não usa a API de gatilho de som diretamente, mas por serviços de nível superior que residem no processo system_server.

Veja abaixo o impacto dessas mudanças:

  • Apps que não são do sistema e que usam a classe AlwaysOnHotwordDetector não são compilados com a API do Android 12 porque a API foi removida da superfície pública.
  • Apps existentes do sistema que usam a classe AlwaysOnHotwordDetector podem ser impedidos de usar recursos de gatilho de som no momento da execução. Para solucionar esse problema e autorizar que esses apps acessem o microfone pelo gatilho de som, declare as permissões RECORD_AUDIO e CAPTURE_AUDIO_HOTWORD para esses apps.

Suporte para a linguagem Rust no Android

O Android 12 agora tem suporte para o uso de código Rust. Uma nova seção foi adicionada à documentação de configuração oferecendo orientações para desenvolver no Android com o Rust.

Para saber mais sobre o Android Rust, vários módulos e ver exemplos, além de consultar informações sobre a configuração do ambiente de desenvolvimento integrado, acesse a nova seção Android Rust em Introdução ao Android Rust.

Cabeçalho da imagem de inicialização

O Android 12 adiciona o uso da versão 4 do cabeçalho da imagem de inicialização, que é a imagem de inicialização principal para dispositivos que oferecem suporte à arquitetura Generic Kernel Image (GKI). O Android 12 também fornece uma boot_signature para verificar a integridade do kernel e do ramdisk. A verificação, que é feita no VtsSecurityAvbTest, é necessária para dispositivos que usam a arquitetura GKI.

Para ler mais, consulte a página Cabeçalho da imagem de inicialização.

Mudanças na implementação do bootconfig

O recurso bootconfig do Android 12, um mecanismo para transmitir detalhes de configuração do build e do carregador de inicialização para o Android 12, substitui as opções de cmdline androidboot.* do kernel usadas no Android 11 e versões anteriores. Esse recurso fornece uma maneira de separar os parâmetros de configuração do espaço do usuário do Android daqueles do espaço do kernel.

Para ler mais, acesse Como implementar o bootconfig.

Fontes substitutas personalizadas

Antes do Android 12, a atualização de arquivos de fonte instalados pelo dispositivo no AOSP (na partição /system/fonts) ou nas partições do fornecedor (/product/fonts ou /system/fonts) exigia uma atualização do sistema do OEM. Esse requisito tem um impacto significativo na compatibilidade com emojis. No Android 12, você pode usar o serviço do sistema FontManager para gerenciar arquivos de fontes instaladas e atualizar os arquivos de fontes instalados sem precisar de uma atualização do sistema.

Para ver informações sobre esse novo recurso, consulte Como implementar fontes substitutas personalizadas.

Heaps DMA-BUF

No Android 12, o GKI 2.0 substitui o alocador ION por heaps DMA-BUF.

Como ativar filtros de localidade

O Android 12 apresenta um recurso que pode ser usado para configurar os idiomas do sistema e filtros de localidade padrão de novos tipos de dispositivo. Isso possibilita que você defina o valor da propriedade de filtro e o idioma padrão usando oem/oem.prop durante a calibração da configuração original e defina restrições sem usar o filtro na imagem do sistema.

Para ver mais informações, consulte Como ativar o filtro de localidade.

Como atualizar os ramdisks do fornecedor

O Android 12 apresenta o suporte à atualização em ramdisks do fornecedor usando um comando fastboot que extrai a imagem vendor_boot completa de um dispositivo. O comando solicita que a ferramenta fastboot no lado do host leia o cabeçalho de inicialização do fornecedor, recrie a imagem e a atualize. Esse suporte inclui mudanças no carregador de inicialização e no fastboot para acessar os dados necessários, como o tamanho e o deslocamento da partição.

Para mais informações, consulte Como atualizar os ramdisks do fornecedor na página Fastboot no espaço do usuário.

Controle de versões de GKI

A partir do Android 12, a parte de lançamento do Android da versão KMI pode ser extraída do kernel e injetada no manifesto do dispositivo durante a compilação.

Para mais detalhes, consulte Controle de versões de GKI.

Estatísticas de memória histórica de eventos de MM

Os dispositivos lançados com o Android 12 podem usar mm_events, um conjunto de estatísticas relacionadas à memória que são capturadas periodicamente enquanto o sistema sofre pressão da memória. Os mm_events são integrados aos mecanismos de rastreamento perfetto e adicionam sobrecarga de desempenho mínima. A coleta de estatísticas permanece ativa por um período configurável, capturando estatísticas em intervalos regulares.

Para informações sobre como usar as estatísticas de mm_events, consulte Estatísticas de memória histórica de eventos de MM.

Restrições da janela de alertas do sistema

Para melhorar a segurança do ecossistema do Android, o Android 12 dificultou a aquisição da permissão SYSTEM_ALERT_WINDOW e autoriza que apps de terceiros bloqueiem sobreposições de outros apps de terceiros.

Apps pré-instalados não recebem automaticamente a permissão appOp SYSTEM_ALERT_WINDOW no Android 12. Ela precisa ser concedida explicitamente pelo usuário antes que um app pré-instalado possa a usar. Os apps do sistema ainda recebem a permissão por padrão.

Os apps de terceiros podem desativar a sobreposição de apps. Isso proporciona um mecanismo de proteção contra ataques no estilo cloak and dagger. Essa opção está disponível para todos os apps. Assim, aqueles que exigem mais segurança, como apps de bancos, podem se proteger. Para usar essa funcionalidade, o app precisa declarar a permissão HIDE_OVERLAY_WINDOWS no próprio manifesto.

O uso de HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) foi descontinuado e substituído por HIDE_OVERLAY_WINDOWS.

Mudanças nas partições de inicialização do fornecedor

Os dispositivos com o Android 12 que usam o cabeçalho da imagem de inicialização 4 oferecem suporte a vários ramdisks de fornecedores na partição vendor_boot. Esses fragmentos do ramdisk são concatenados em série na seção ramdisk do fornecedor. Uma tabela do ramdisk do fornecedor descreve o layout da seção do ramdisk e os metadados de cada fragmento do ramdisk do fornecedor.

Devido às mudanças nas partições de inicialização do fornecedor no Android 12 e mais recentes, não é possível usar default como um nome de fragmento do ramdisk do fornecedor, já que está definido como reservado. Usar esse nome para os fragmentos do ramdisk do fornecedor não é autorizado em nenhuma circunstância.

Para saber mais, consulte Partições de inicialização do fornecedor e Vários ramdisks do fornecedor.

Áudio

Roteamento combinado para dispositivos de áudio

O recurso de roteamento combinado de dispositivo de áudio adiciona suporte a streaming de áudio para vários dispositivos de áudio simultaneamente. Com esse recurso, os apps com privilégios podem selecionar vários dispositivos preferidos para uma estratégia específica usando APIs do sistema. Os apps podem descobrir recursos de dispositivos de áudio com mais precisão usando as APIs públicas fornecidas por esse recurso.

Para mais informações, consulte a página Roteamento combinado para dispositivos de áudio.

Atualizações para a HAL de áudio V7

A fim de resolver problemas de compatibilidade com versões anteriores, a AIDL estável vai ser obrigatória para todas as mudanças da HAL a partir do Android 13. Para se preparar e melhorar essa adoção futura da AIDL, foram feitas mudanças significativas na versão 7 da HAL de áudio no Android 12.

Para mais informações, consulte a seção Atualizações na HAL de áudio V7 e o exemplo de política de áudio.

Câmera

Entrada de metadados estáticos da câmera para dispositivos dobráveis

O Android 12 apresenta a entrada de metadados deviceStateOrientationMap estáticos da câmera, que permite que a HAL informe o cliente e o framework da câmera sobre as mudanças de orientação do sensor acionadas por uma mudança no estado da dobra de um dispositivo. Os dispositivos dobráveis também podem usar uma ou mais câmeras lógicas, que são compostas de dispositivos físicos com diferentes orientações do sensor para diferentes estados de dobra do dispositivo. A entrada de metadados deviceStateOrientationMap permite que o framework da câmera garanta que as transformações necessárias da superfície de saída sejam aplicadas quando o ID físico ativo mudar nos resultados de captura.

Para mais informações, consulte metadata_definitions.xml.

Requisito de suporte da extensão CameraX do fornecedor

No Android 12, os dispositivos com suporte a extensões CameraX precisam definir a propriedade ro.camerax.extensions.enabled como true, o que possibilita consultar se um dispositivo oferece suporte a extensões.

Para mais informações, consulte Como configurar a biblioteca do fornecedor em um dispositivo.

Suporte ao sensor de câmera Quad Bayer

O Android 12 apresenta APIs de plataforma que possibilitam que os apps aproveitem os dispositivos com sensores de câmera de alta resolução, geralmente com padrões bayer quad ou nona, o que oferece flexibilidade em termos de qualidade da imagem e desempenho quando há pouca iluminação. As novas APIs oferecem suporte ao comportamento desses sensores, considerando que eles oferecem suporte a diferentes configurações e combinações de stream ao operar no modo "resolução máxima" em vez do modo "padrão".

Para oferecer suporte à HAL da câmera para sensores de câmera de alta resolução, os fabricantes de dispositivos precisam implementar mudanças nestes arquivos:

Compatibilidade

Requisito de suporte ao ADN para chips

A partir do Android 12, todos os chips em dispositivos usados para testes CTS precisam oferecer suporte ao armazenamento de números de discagem abreviados (ADN, na sigla em inglês).

Para mais detalhes, consulte Tela e armazenamento.

Atualizações do pacote de testes de imagem da Câmera (ITS)

O Android 12 traz várias atualizações no pacote de testes de imagem da Câmera (ITS), incluindo testes novos e atualizados, refatoração para Python 3 e a adoção do framework de teste do Mobly.

Para ver mais informações, consulte as Notas da versão do pacote de testes de imagens da câmera do Android 12.

Atualizações do CDD

O Documento de definição de compatibilidade do Android 12 itera as versões anteriores com atualizações de novos recursos e mudanças nos requisitos da funcionalidade lançada anteriormente.

Conectividade

Fracionamento de rede 5G

O Android 12 oferece suporte ao fracionamento de rede 5G, que é o uso da virtualização de rede para fracionar conexões de rede únicas em várias conexões virtuais distintas que fornecem quantidades diferentes de recursos para tipos de tráfego distintos. Com isso, os operadores de rede conseguem dedicar uma parte da rede para fornecer recursos específicos a um segmento de clientes específico.

Para ver mais informações, consulte Fracionamento de rede 5G.

Perfis gerenciadores de dispositivos complementares

Apps criados para o Android 12 e a versões mais recentes podem usar perfis de dispositivos complementares ao se conectar a um smartwatch. O uso de um perfil simplifica o processo de inscrição, agrupando a concessão de um conjunto de permissões específicas do tipo de dispositivo em uma única etapa.

Captura de tela de um smartphone mostrando uma solicitação de permissão

As permissões do pacote são concedidas ao app complementar quando o dispositivo é conectado e são mantidas apenas enquanto o dispositivo estiver associado. Excluir o app ou remover a associação também remove as permissões.

Para mais informações, consulte Perfis de dispositivos complementares.

Direito de serviço IMS (TS.43)

O Android 12 oferece suporte à Configuração de direito de serviço do TS.43 (link em inglês), uma especificação GSMA que define a etapa de verificação de direitos para a ativação de serviços, incluindo o Voice-over-Wi-Fi (VoWiFi), Voz sobre LTE (VoLTE), SMS por IP (SMSoIP), Ativação do serviço no dispositivo (ODSA, na sigla em inglês) para dispositivos complementares eSIM (associados ao dispositivo solicitante) e informações sobre o plano de dados.

Para mais informações, consulte Direito de serviço de IMS.

Registro IMS único

O Android 12 oferece suporte a um modelo de registro único para fornecer recursos MMTEL e RCS. Esse modelo possibilita que os dispositivos tenham todos os recursos IMS gerenciados por um único registro IMS fornecido pelo ImsService do dispositivo. Em comparação com um modelo de registro duplo, em que vários registros IMS são gerenciados em um dispositivo, o registro único reduz o tráfego na rede de uma operadora e aumenta a confiabilidade.

Para mais informações, consulte Registro IMS único.

Detecção do fuso horário do local

O Android 12 inclui a detecção de fuso horário local, um recurso opcional de detecção automática de fuso horário. Com ele, os dispositivos usam os dados de local e fuso horário do mapa para determinar o horário atual.

Para saber mais, consulte Detecção do fuso horário do local.

Ordem aleatória de MAC

O Android 12 apresenta o tipo de ordem aleatória de MAC não persistente, que possibilita que o Android reorganize aleatoriamente endereços MAC para determinadas redes no início de cada conexão.

Para mais informações, consulte Comportamento de ordem aleatória de MAC.

Seleção de rede

O Android 12 apresenta um novo mecanismo de seleção de rede usando a classe NetworkScore. A seleção de rede afeta como o Android atende às solicitações de rede do app e do sistema e influencia como a rede padrão de um app é escolhida.

Para mais informações, consulte Seleção de rede.

Notificação CallStyle

A partir do Android 12, recomendamos que os apps usem o novo estilo de notificação, CallStyle, para chamadas de voz e de vídeo recebidas e em andamento. Esse estilo de notificação inclui botões de ação para atender, recusar e encerrar chamadas telefônicas. Ela também usa o mesmo estilo focado nas pessoas para conversas, o que é consistente com o comportamento da classificação de notificações de chamadas na parte de cima da aba.

Para que os apps usem o estilo de notificação CallStyle, eles precisam usar uma intent de tela cheia ou um serviço em primeiro plano (com a permissão associada). Esse estilo classifica as notificações das chamadas na parte de cima da aba. Para chamadas em andamento, esse estilo adiciona um ícone à barra de status, possibilitando que os usuários retornem rapidamente ao app de chamada.

Para mais informações, consulte Notificações de chamada.

Atualizações do Passpoint

O Android 12 traz o Passpoint R3 e outros recursos do Passpoint, como os Termos e Condições, URLs de informações do local, prefixos de identidade decorados e processamento iminente de desautenticação.

Para mais informações sobre esses recursos, consulte Passpoint (Ponto de acesso 2.0).

Atualizações do Acesso rápido à carteira

No Android 12 e mais recentes, o recurso Acesso rápido à carteira está disponível na aba, não no menu liga/desliga como no Android 11. A IU da carteira agora é executada na IU do sistema e está localizada em frameworks/base/packages/SystemUI/src/com/android/systemui/wallet.

Para mais informações, consulte Acesso rápido à carteira.

Experiência do usuário com conectividade simplificada

O Android 12 oferece uma experiência opcional de conectividade simplificada, que ajuda os usuários a entender melhor as conexões de rede, alternar entre provedores de Internet e resolver problemas de conectividade da rede.

Para mais informações, consulte Interface de conectividade do usuário.

Prioridade da fonte de tempo

A partir do Android 12, o framework prioriza a fonte de horário do Network Time Protocol (NTP) em vez de usar a fonte da rede e identidade do fuso horário (NITZ, na sigla em inglês) como padrão.

Para ver detalhes sobre como configurar e testar a prioridade da fonte de tempo no dispositivo, consulte Prioridade da fonte de tempo.

Ativar/desativar 2G

Para melhorar a segurança, o Android 12 apresenta a opção de ativar/desativar 2G nas Configurações. Com isso, os usuários podem desativar completamente as conexões celulares 2G. A Radio 1.6 HAL precisa ser implementada para usar esse recurso.

O recurso de alternância do 2G é ativado por padrão. As operadoras podem desativar o recurso durante a execução usando a sinalização CarrierConfig KEY_HIDE_ENABLE_2G.

Os fabricantes de dispositivos precisam garantir que todas as redes estejam disponíveis durante as chamadas de emergência.

Especificações do UICC

No Android 12, para executar os testes do CTS da API da operadora, o dispositivo precisa usar um UICC de desenvolvedor com privilégios de operadora do CTS que atendam aos requisitos especificados na versão mais recente da especificação de teste de perfil GSMA TS.48 de terceiros.

Consulte Como preparar o UICC para mais informações.

Simultaneidade de Wi-Fi AP/AP

O Android 12 apresenta o recurso de simultaneidade AP/AP do Wi-Fi, que possibilita que os dispositivos abram um ponto de acesso de tethering duplo (AP+AP).

Para mais informações, consulte Simultaneidade de Wi-Fi AP/AP.

Evitar a coexistência em canais Wi-Fi/celular

O Android 12 traz um novo recurso para Impedir a coexistência de canais Wi-Fi/celular, que identifica e impede o uso de canais Wi-Fi não seguros quando há interferência entre canais celulares. Isso inclui interfaces como STA, SoftAp, Wi-Fi Direct (P2P), Wi-Fi Aware (NAN).

Melhorias no protocolo de segurança do Wi-Fi

O Android 12 apresenta suporte para o modo de transição WPA3 Hash-to-Element (H2E), WPA2/WPA3-Enterprise e a indicação da desativação da transição.

Para mais informações, consulte WPA3 e Wi-Fi Enhanced Open.

Simultaneidade de Wi-Fi STA/STA

O Android 12 apresenta o recurso de simultaneidade de STA/STA Wi-Fi, que possibilita que os dispositivos se conectem a duas redes Wi-Fi simultaneamente.

Para mais informações, consulte Simultaneidade do Wi-Fi STA/STA.

Dispositivos

Novos recursos automotivos do Android 12

Consulte O que há de novo no Automotive para saber mais sobre estes novos recursos:

Tela

Bloquear eventos de toque não confiáveis

Para preservar a segurança do sistema e melhorar a experiência do usuário, o Android 12 oferece suporte ao bloqueio de eventos de toque não confiáveis. Isso evita que os apps consumam eventos de toque em que uma sobreposição oculte o app de forma não segura.

Notificações e widgets de conversa

O Android 11 adicionou suporte à personalização do comportamento e do posicionamento de notificações de conversas na aba de notificações por nível de prioridade e alerta, possibilitando que as conversas sejam marcadas como "importantes" e com balões específicos para serem iniciadas no espaço de conversa. Com base nesses recursos do Android 11, o recurso de widget de conversa do Android 12 possibilita que os usuários adicionem widgets de conversa à tela inicial para contatos importantes, permitindo que eles retomem conversas facilmente sem esperar por uma notificação.

Para mais informações, consulte Notificações e widgets de conversa.

Desfoques de janela

As APIs públicas estão disponíveis no Android 12 para implementar efeitos de desfoque de janela (como desfoque do plano de fundo e desfoque em segundo plano). Com essas APIs, é possível desfocar o que estiver por trás da sua própria janela. É possível criar janelas com planos de fundo desfocados, criando um efeito de vidro fosco, ou mostrar janelas com toda a tela atrás delas desfocadas, criando um efeito de profundidade de de campo. Também é possível combinar os dois efeitos.

Para mais informações sobre esse novo recurso e como o implementar, consulte a página Desfoques de janela.

Ampliação de janelas

No Android 12, os usuários com baixa visão podem ampliar o que é exibido na tela usando o recurso de ampliação da janela. A ampliação de janelas permite que os usuários ampliem uma parte selecionada da tela, ao contrário de uma função de zoom em uma tela inteira. A janela selecionada pode ser arrastada pela tela, o que possibilita ampliar diferentes partes da tela conforme necessário.

Para mais informações, consulte Lupa de janela.

Empresarial

Atualizações na administração de dispositivos

O Android 12 inclui as atualizações de administração de dispositivos abaixo:

  • Atualizações de segregação de dados do perfil gerenciado. Em dispositivos pessoais com um perfil de trabalho, o Android 12 remove o acesso a identificadores de hardware do dispositivo (IMEI, MEID, número de série) e fornece um ID exclusivo e específico para a inscrição que identifica a inscrição do perfil de trabalho de uma organização específica. Para ver mais detalhes, consulte Identificadores de dispositivo.

  • Atualizações no provisionamento de dispositivos. O Android 12 inclui várias mudanças no provisionamento de dispositivos. Para ver detalhes e uma lista de mudanças, consulte as atualizações do Android 12.

Gráficos

Processamento da adição de componentes na HAL do Composer

Os recursos de exibição (como modos de exibição e tipos HDR com suporte) podem mudar dinamicamente em dispositivos com telas conectadas externamente (por HDMI ou DisplayPort), como conversores do Android TV (STB) e dispositivos over-the-top (OTT). Do Android 12 em diante, as mudanças no framework oferecem suporte ao processamento da adição de componentes e a recursos de exibição dinâmica.

Para mais informações, consulte Manuseio de hot plug no Composer HAL.

Componentes modulares do sistema

Atualizações do módulo principal

O Android 12 apresenta dois novos módulos: ART e Device Scheduling.

Vários módulos já existentes foram atualizados no Android 12. Consulte Atualizações no Android 12 para saber mais detalhes.

ART

O Android 12 e versões mais recentes tem suporte ao módulo ART, que visa melhorar a experiência do Android oferecendo aos usuários as otimizações do ambiente de execução gerenciado, os recursos e as correções de bugs mais recentes.

Device Scheduling

O Android 12 e versões mais recentes tem suporte ao módulo Device Scheduling, que contém uma lógica que detecta se o dispositivo está no estado inativo e pode ser reinicializado sem atrapalhar o usuário.

Mídia

Transcodificação de mídia compatível

A transcodificação de mídia compatível possibilita que os dispositivos usem formatos de mídia modernos de armazenamento eficiente para captura de vídeo, como HEVC, enquanto mantém a compatibilidade com apps. Com esse recurso, os fabricantes de dispositivos podem usar o formato HEVC em vez do AVC por padrão para melhorar a qualidade do vídeo e reduzir os requisitos de armazenamento e largura de banda. Para saber mais, consulte Transcodificação de mídia compatível.

Desempenho

Hibernação do app

O Android 12 oferece a capacidade de hibernar apps que o usuário não usa há alguns meses, de forma parecida com a revogação automática de permissões.

Consulte a página Hibernação de aplicativos para mais informações.

Camada de abstração Cgroup

A camada de abstração do grupo de controle (cgroup) no Android 12 traz novos recursos, como a capacidade de definir controladores de cgroup específicos como opcionais e usar um novo comando task_profiles que substitui o comando writepid descontinuado. Essa substituição garante que as implementações do cgroup não tenham efeito nas camadas superiores ao migrar tarefas em hierarquias de cgroup. O Android 12 também oferece suporte aos perfis de tarefas por nível de API.

Para mais informações, consulte Camada de abstração Cgroup.

Permissões

Permissões do Bluetooth

O Android 12 apresenta as permissões de Bluetooth abaixo, que substituem as permissões BLUETOOTH e BLUETOOTH_ADMIN:

  • BLUETOOTH_SCAN: permite aos apps descobrir e parear com dispositivos Bluetooth por perto.
  • BLUETOOTH_ADVERTISE: possibilita que o app seja anunciado em dispositivos Bluetooth por perto.
  • BLUETOOTH_CONNECT: possibilita que os apps se conectem a dispositivos Bluetooth pareados.

As permissões acima fazem parte do novo grupo de permissões de execução NEARBY_DEVICES. Esse grupo de permissões autoriza casos de uso, como a conexão a um smartwatch, sem exigir a permissão de execução LOCATION.

Essas novas permissões são compatíveis com apps, e nenhuma mudança é necessária para apps em execução no Android 11 ou versões anteriores. Para apps legados direcionados ao Android 11 ou versões anteriores, a plataforma converte automaticamente solicitações de permissões do Bluetooth legadas como solicitações para as novas permissões. Quando um app faz upgrade para o Android 12 ou versões mais recentes, ele precisa solicitar explicitamente as novas permissões do Bluetooth.

Para mais informações sobre como usar as permissões, consulte a página Permissões do Bluetooth.

Indicadores de privacidade

O Android 12 mostra indicadores quando um app usa uma fonte de dados particular com as permissões app-op de microfone e câmera para oferecer transparência.

As permissões app-op monitoram o status da atividade e o número de chamadas de API individuais e interagem com os indicadores de câmera e microfone no Android 12 para mostrar aos usuários quando os apps acessaram dados de áudio e da câmera nos dispositivos deles. Quando os usuários clicam nos indicadores de câmera ou microfone, eles veem quais apps acessaram os dados.

Esse recurso é obrigatório para todos os OEMs. Para mais informações, consulte Indicadores de privacidade.

Localização

Do Android 12 em diante, os usuários podem pedir que um app só tenha precisão aproximada ao acessar as informações de localização.

Essa mudança foi criada para afetar os apps apenas quando eles forem destinados ao Android 12 ou versões mais recentes. No entanto, em dispositivos com uma versão mais antiga do módulo PermissionController, essa mudança afeta todos os apps, independentemente da versão do SDK de destino.

Ambiente de execução

Verificações dexpreopt e <uses-library>

O Android 12 apresenta mudanças no sistema de compilação para a compilação antecipada (AOT) de arquivos DEX (dexpreopt) em módulos Java que têm dependências <uses-library>. Em alguns casos, essas mudanças no sistema de compilação podem corromper os builds.

Consulte Verificações dexpreopt e <uses-library> e aprenda se preparar para falhas e ver roteiros de como corrigir e mitigar essas falhas.

Testes

Conjunto de teste de compatibilidade (CTS)

No Android 12, vários módulos novos e mudanças de teste importantes foram introduzidos ao CTS. Consulte as Notas de versão do CTS para mais informações.

TV

Serviço de controle HDMI-CEC

O Android 12 usa o HDMI-CEC para controlar automaticamente as telas conectadas por HDMI quando um dispositivo é ativado ou entra no modo de suspensão.

Para ver mais detalhes, consulte Serviço de controle HDMI-CEC.

Framework Tuner

No Android 12:

  • O front-end com o Tuner HAL 1.1 ou versões mais recentes oferece suporte ao padrão DTMB DTV. Há suporte para os recursos e configurações de front-end abaixo:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • A API Tuner SDK oferece suporte aos novos recursos no Tuner HAL 1.1, que é um upgrade do Tuner 1.0 compatível com versões anteriores.

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion() verifica a versão da HAL em execução.

Atualizações

Compactação APEX

Depois que uma atualização para um contêiner Android Pony EXpress (APEX, na sigla em inglês) for instalada, a versão pré-instalada não será mais usada, mas ela ocupará a mesma quantidade de espaço de memória. O espaço ocupado permanece indisponível. No Android 12, a compactação APEX minimiza esse impacto no armazenamento usando um conjunto altamente compactado de arquivos APEX em partições somente leitura (como a partição /system). Para ler sobre compactação APEX no Android 12, consulte APEXs compactados.

Segurança e conveniência ao retomar durante a reinicialização

O Android 12 oferece suporte melhorado de vários clientes e à funcionalidade de reinicialização baseada no servidor. O processo de retomada na reinicialização (RoR, na sigla em inglês) oferece mais segurança e conveniência aos usuários, porque as atualizações OTA podem ser feitas durante os períodos de inatividade do dispositivo, enquanto as funcionalidades de atualização baseada em servidor e de múltiplos clientes do Android 12 juntas fornecem segurança aos dispositivos no nível do hardware

Para mais informações, consulte Retomar na reinicialização.

Repetição de PIN do chip com RoR

O Android 12 tem repetição do PIN do chip para fornecer uma verificação de código PIN sem problemas após uma reinicialização pelo RoR. O PIN é recriptografado e armazenado sempre que um usuário o ativa, verifica ou modifica.

Para ver mais informações, consulte Repetir o PIN do chip.

Atualizações A/B virtuais

O Android 12 oferece a opção de compactação A/B virtual em snapshots de partições. No Android 12, é possível fazer um snapshot das partições atualizáveis que o carregador de inicialização não usa para economizar espaço. Elas também podem ser compactadas. A ativação da compactação de snapshots no seu build para Android 12 economiza espaço na partição /data.

A implementação do A/B virtual com a compactação de snapshots exige mudanças no código específico do dispositivo. Veja os detalhes das mudanças e da implementação nas páginas Visão geral do A/B virtual e Como implementar o A/B virtual.