Notas de versão do Android 12 e Android 12

Esta página resume os principais recursos das versões do Android 12 e Android 12 e fornece links para informações adicionais. Esses resumos de recursos são organizados de acordo com a localização da documentação do recurso neste site.

Arquitetura

Atualizações de classe AlwaysOnHotwordDetector

A partir do Android 12, a classe AlwaysOnHotwordDetector, incluindo seu método de fábrica, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector() , é uma API do sistema ( @SystemApi ) em vez de uma API pública. A classe AlwaysOnHotwordDetector destina-se ao uso por aplicativos Assistant com privilégios no nível do sistema, que geralmente são empacotados com a versão do sistema operacional. No Android 11 e versões anteriores, a API é protegida por verificações que garantem que o chamador seja o app do Assistente ativo no momento, tornando a API inutilizável por outros apps de terceiros.

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

O impacto dessas mudanças é o seguinte:

  • Aplicativos que não são do sistema que usam a classe AlwaysOnHotwordDetector falham ao compilar na API do Android 12 porque a API foi removida da superfície pública.
  • Aplicativos de sistema existentes que usam a classe AlwaysOnHotwordDetector podem ser impedidos de usar recursos de acionador de som em tempo de execução. Para resolver esse problema e permitir que esses aplicativos acessem o microfone por meio do acionador de som, declare as permissões RECORD_AUDIO e CAPTURE_AUDIO_HOTWORD para esses aplicativos.

Suporte ao idioma Android Rust

O Android 12 agora suporta o uso de código Rust. Uma nova seção adicionada à documentação de configuração fornece orientação para desenvolver no Android com Rust.

Para obter mais informações sobre o Android Rust, vários módulos e para ver exemplos (bem como obter informações de configuração do IDE), consulte 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 do cabeçalho da imagem de inicialização versão 4, que é a imagem de inicialização principal para dispositivos que suportam a arquitetura Generic Kernel Image (GKI) . O Android 12 também fornece um boot_signature para verificar a integridade do kernel e do ramdisk. A verificação, que é feita em VtsSecurityAvbTest , é necessária para dispositivos que usam a arquitetura GKI.

Para ler mais, consulte a página Boot Image Header .

Mudanças na implementação do bootconfig

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

Para ler mais, visite Implementando Bootconfig .

Fonte de reserva personalizada

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

Para obter informações sobre esse novo recurso, consulte Implementação de fallback de fonte personalizada.

Heaps DMA-BUF

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

Ativando filtros de localidade

O Android 12 apresenta um recurso que você pode usar para configurar os idiomas padrão do sistema e filtros de localidade para novos tipos de dispositivos. Isso permite definir o valor da propriedade do filtro e o idioma padrão por meio de oem/oem.prop durante a calibração de fábrica e configurar restrições sem inserir o filtro na imagem do sistema.

Para obter mais informações, consulte Habilitando o filtro de localidade .

ramdisks de fornecedor piscando

O Android 12 apresenta suporte para flashes de ramdisks de fornecedores por meio de um comando fastboot que extrai a imagem vendor_boot completa de um dispositivo. O comando solicita que a ferramenta fastboot do lado do host leia o cabeçalho de inicialização do fornecedor, faça uma nova imagem e atualize a nova imagem. Esse suporte inclui alterações no bootloader e no fastbootd para obter os dados necessários, como tamanho e deslocamento da partição.

Para obter mais informações, consulte Flashing ramdisks do fornecedor na página Fastboot in Userspace.

Versão 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 no momento da compilação.

Para obter mais detalhes, consulte Controle de versão do GKI .

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

Os dispositivos iniciados no Android 12 podem utilizar mm_events , um conjunto de estatísticas relacionadas à memória que são capturadas periodicamente enquanto um sistema sofre pressão de memória. mm_events é integrado com mecanismos de rastreamento perfetto e adiciona sobrecarga mínima de desempenho. A coleta de estatísticas permanece ativa por um período de tempo configurável, capturando estatísticas em intervalos regulares.

Para obter informações sobre como utilizar as estatísticas mm_events , consulte MM Events - Historical Memory Statistics .

Restrições da janela de alerta do sistema

Para melhorar a segurança do ecossistema Android, o Android 12 tornou mais difícil adquirir a permissão SYSTEM_ALERT_WINDOW e permite que aplicativos de terceiros bloqueiem sobreposições de outros aplicativos de terceiros.

Os aplicativos pré-instalados não recebem automaticamente o SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW no Android 12. Ele deve ser concedido explicitamente pelo usuário antes que um aplicativo pré-instalado possa usá-lo. Os aplicativos do sistema ainda recebem a permissão por padrão.

Aplicativos de terceiros podem optar por não ter sobreposições de aplicativos desenhadas sobre eles. Isso fornece um mecanismo de proteção contra ataques do tipo cloak and dagger . Isso está disponível para todos os aplicativos para que aplicativos sensíveis à segurança, como aplicativos bancários, possam se proteger. Para usar essa funcionalidade, um aplicativo deve declarar a permissão HIDE_OVERLAY_WINDOWS em seu manifesto.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) foi preterido em favor de HIDE_OVERLAY_WINDOWS .

Alterações nas partições de inicialização do fornecedor

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

Devido às alterações nas partições de inicialização do fornecedor no Android 12 e superior, você não pode usar default como um nome de fragmento de disco ram do fornecedor; é designado como reservado. Usá-lo para nomear fragmentos de ramdisk do fornecedor não é permitido em nenhuma circunstância.

Para saber mais, consulte Partições de inicialização do fornecedor e discos ram de vários fornecedores .

Áudio

Roteamento de dispositivo de áudio combinado

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

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

Atualizações para o Áudio HAL V7

Para resolver problemas de compatibilidade com versões anteriores, o AIDL estável será obrigatório para todas as alterações de HAL a partir do Android T. Para se preparar e aprimorar essa futura adoção do AIDL, alterações significativas são feitas na versão 7 do Audio HAL no Android 12.

Para obter mais informações, consulte a seção Atualizações da seção Audio HAL 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 estáticos da câmera deviceStateOrientationMap que permite que a câmera HAL informe o cliente da câmera e a estrutura da câmera sobre as alterações de orientação do sensor acionadas por uma alteração no estado de dobra de um dispositivo. Os dispositivos dobráveis ​​podem opcionalmente usar uma ou mais câmeras lógicas compostas por dispositivos físicos com diferentes orientações de sensor para diferentes estados de dobra do dispositivo. A entrada de metadados deviceStateOrientationMap permite que a estrutura da câmera garanta que as transformações de superfície de saída necessárias sejam aplicadas quando o ID físico ativo for alterado nos resultados da captura.

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

Requisito de suporte de extensão do fornecedor CameraX

No Android 12, os dispositivos compatíveis com extensões CameraX devem ter a propriedade ro.camerax.extensions.enabled definida como true , que permite consultar se um dispositivo é compatível com extensões.

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

Suporte para sensor de câmera Quad Bayer

O Android 12 apresenta APIs de plataforma que permitem que os aplicativos tirem proveito de dispositivos com sensores de câmera de altíssima resolução, normalmente com padrões quad ou nona bayer que oferecem flexibilidade em termos de qualidade de imagem e desempenho com pouca luz. As novas APIs suportam o comportamento desses sensores levando em consideração que eles podem suportar diferentes configurações e combinações de fluxo ao operar no modo "resolução máxima" em vez do modo "padrão".

Para implementar o suporte HAL da câmera para sensores de câmera de resolução ultra-alta, os fabricantes de dispositivos devem implementar alterações nos seguintes arquivos:

Compatibilidade

Requisito de suporte ADN para cartões SIM

A partir do Android 12, todos os cartões SIM em dispositivos usados ​​para testes CTS devem ter suporte para armazenar números de discagem abreviada (ADN).

Para obter mais detalhes, consulte Tela e armazenamento .

Atualizações do ITS da câmera

O Android 12 apresenta várias atualizações para o Camera Image Test Suite (ITS), incluindo testes novos e atualizados, refatoração para Python 3 e a adoção da estrutura de teste Mobly.

Para obter mais informações, consulte as notas de versão do Android 12 Camera Image Test Suite .

Atualizações de CDD

O Documento de Definição de Compatibilidade do Android 12 repete as versões anteriores com atualizações para novos recursos e alterações nos requisitos de funcionalidades lançadas anteriormente.

Conectividade

fatiamento de rede 5G

O Android 12 oferece suporte para fatiamento de rede 5G, o uso de virtualização de rede para dividir conexões de rede únicas em várias conexões virtuais distintas que fornecem diferentes quantidades de recursos para diferentes tipos de tráfego. Isso permite que as operadoras de rede dediquem uma parte da rede para fornecer recursos específicos para um determinado segmento de clientes.

Para obter mais informações, consulte 5G Network Slicing .

Perfis do Gerenciador de Dispositivos Complementares

Os apps direcionados ao Android 12 e superior podem usar perfis de dispositivos complementares ao se conectarem a um relógio. O uso de um perfil simplifica o processo de registro agrupando a concessão de um conjunto de permissões específico do tipo de dispositivo em uma etapa.

Captura de tela de um telefone mostrando uma oferta imediata para conceder permissões

As permissões agrupadas são concedidas ao aplicativo complementar assim que o dispositivo se conecta e duram apenas enquanto o dispositivo estiver associado. Excluir o aplicativo ou remover a associação remove as permissões.

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

Autorização de serviço IMS (TS.43)

O Android 12 inclui suporte para TS.43 Service Entitlement Configuration , uma especificação GSMA que define a etapa de verificação de direitos para a ativação de serviços, incluindo Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE), SMS over IP (SMSoIP), ativação de serviço no dispositivo (ODSA) de dispositivos complementares eSIM (associados ao dispositivo solicitante) e informações do plano de dados.

Para obter mais informações, consulte Direito ao Serviço IMS .

Registro único IMS

O Android 12 adiciona suporte para um único modelo de registro para fornecer recursos MMTEL e RCS. Este modelo permite que os dispositivos tenham todos os recursos IMS gerenciados por meio de um único registro IMS fornecido pelo ImsService do dispositivo. Comparado com um modelo de registro duplo, no qual 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 obter mais informações, consulte Registro único do IMS .

Detecção de fuso horário local

O Android 12 inclui Detecção de fuso horário de localização, um recurso opcional de detecção automática de fuso horário que permite que os dispositivos usem seus dados de mapa de localização e fuso horário para determinar o fuso horário atual.

Para obter mais informações, consulte Detecção de fuso horário de local .

Randomização MAC

O Android 12 introduz o tipo de randomização MAC não persistente, que permite que o Android re-aleatorize endereços MAC para determinadas redes no início de cada conexão.

Para obter mais informações, consulte Comportamento de randomização 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 aplicativo e do sistema e influencia como a rede padrão de um aplicativo é escolhida.

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

Estilo de chamada de notificação

A partir do Android 12, recomendamos que os aplicativos usem o novo estilo de notificação, CallStyle , para chamadas de voz e vídeo recebidas e em andamento. Esse estilo de notificação inclui botões de ação para atender, recusar e desligar chamadas telefônicas. Ele também usa o mesmo estilo centrado na pessoa usado por conversas , o que é consistente com seu comportamento de classificação de notificações de chamadas na parte superior da sombra.

Para que os aplicativos usem o estilo de notificação CallStyle , eles devem usar uma intenção de tela inteira ou um serviço em primeiro plano (com a permissão associada). Este estilo classifica as notificações para chamadas na parte superior da cortina. Para chamadas no estado em andamento, esse estilo adiciona um chip à barra de status, permitindo que os usuários retornem rapidamente ao aplicativo de chamada.

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

Atualizações de pontos de acesso

O Android 12 apresenta o Passpoint R3 e outros recursos do Passpoint, como termos e condições, URLs de informações do local, prefixos de identidade decorados e tratamento iminente de desautenticação.

Para obter mais informações sobre esses recursos, consulte Passpoint (Hotspot 2.0) .

Atualizações da carteira de acesso rápido

No Android 12 ou superior, o recurso Carteira de acesso rápido está disponível na sombra em vez do menu de energia, como no Android 11. A interface do usuário da carteira agora é executada na interface do usuário do sistema e está localizada em frameworks/base/packages/SystemUI/src/com/android/systemui/wallet .

Para obter mais informações, consulte Carteira de acesso rápido .

Experiência de usuário de conectividade simplificada

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

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

Prioridade da fonte de tempo

A partir do Android 12, a estrutura prioriza a fonte de tempo do Network Time Protocol (NTP) sobre a fonte de Network Identity and Time Zone (NITZ) por padrão.

Para obter detalhes sobre como configurar e testar a prioridade da fonte de tempo em seu dispositivo, consulte Prioridade da fonte de tempo .

Alterne para desativar 2G

Para melhorar a segurança, o Android 12 apresenta uma alternância 2G em Configurações que permite que os usuários desativem completamente as conexões de celular 2G. O rádio 1.6 HAL deve ser implementado para este recurso.

O recurso de alternância 2G é ativado por padrão. As operadoras podem desabilitar o recurso em tempo de execução por meio do sinalizador KEY_HIDE_ENABLE_2G .

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

Especificações UICC

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

Consulte Preparando o UICC para obter mais informações.

Simultaneidade de AP/AP Wi-Fi

O Android 12 apresenta o recurso de simultaneidade Wi-Fi AP/AP, que permite que os dispositivos abram um hotspot de tethering Dual (AP+AP) em ponte.

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

Evitar canal coex Wi-Fi/celular

O Android 12 apresenta o recurso de prevenção de canal coex Wi-Fi/celular , que identifica e impede o uso de canais Wi-Fi inseguros 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 Wi-Fi

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

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

Simultaneidade Wi-Fi STA/STA

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

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

Dispositivos

Novos recursos automotivos do Android 12

Consulte Novidades do setor automotivo para saber mais sobre esses novos recursos:

Exibição

Bloqueie toques não confiáveis

Para preservar a segurança do sistema e uma boa experiência do usuário, o Android 12 adiciona suporte para bloquear eventos de toque não confiáveis ​​. Isso impede que os aplicativos consumam eventos de toque em que uma sobreposição obscurece o aplicativo de maneira insegura.

Notificações de conversas e widgets

O Android 11 adicionou suporte para personalizar o comportamento e o posicionamento das Notificações de Conversa na aba Notificações por prioridade e nível de alerta, permitindo que as Conversas sejam marcadas como Importantes e que bolhas específicas da conversa sejam iniciadas no espaço Conversa. Com base nesses recursos do Android 11, o recurso Android 12 Conversation Widget permite que os usuários adicionem widgets de conversa para contatos importantes à tela inicial, permitindo que retomem conversas facilmente sem esperar por uma notificação.

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

Desfoque de janela

As APIs públicas estão disponíveis no Android 12 para implementar efeitos de desfoque de janela (como desfoque de fundo e desfoque atrás). Com essas APIs, você pode desfocar o que estiver atrás de sua própria janela. Você pode criar janelas com fundos desfocados, criando um efeito de vidro fosco, ou mostrar janelas com a tela inteira atrás delas desfocadas, criando um efeito de profundidade de campo. Você também pode combinar esses dois.

Para obter mais informações sobre esse novo recurso e como implementá-lo, consulte a página Window Blurs .

Ampliação da janela

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

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

Empreendimento

Atualizações da administração do dispositivo

O Android 12 inclui as seguintes atualizações de administração do dispositivo:

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

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

Gráficos

Manuseio hot plug no Composer HAL

Os recursos de exibição (como modos de exibição e tipos de HDR compatíveis) podem ser alterados dinamicamente em dispositivos que possuem monitores conectados externamente (via HDMI ou DisplayPort), como decodificadores de TV Android (STB) e over-the-top (OTT) dispositivos. A partir do Android 12, as alterações na estrutura oferecem suporte ao manuseio de hot plug e recursos de exibição dinâmica.

Para obter mais informações, consulte Manipulação de hot plug no Composer HAL .

Componentes do sistema modular

Atualizações do módulo principal

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

Muitos módulos existentes são atualizados no Android 12. Consulte Atualizações no Android 12 para obter detalhes.

ARTE

O Android 12 ou superior é compatível com o módulo ART , que visa melhorar a experiência do Android, oferecendo aos usuários as mais recentes otimizações de tempo de execução gerenciado, recursos e correções de bugs.

Agendamento de dispositivos

O Android 12 ou superior é compatível com o módulo Device Scheduling , que contém lógica que detecta se o dispositivo está ou não em estado ocioso e pode ser reinicializado sem interrupção do usuário.

meios de comunicação

Transcodificação de mídia compatível

A transcodificação de mídia compatível permite que os dispositivos usem formatos de mídia modernos e eficientes em armazenamento para captura de vídeo, como HEVC, mantendo a compatibilidade com aplicativos. Com esse recurso, os fabricantes de dispositivos podem usar HEVC em vez de AVC por padrão para melhorar a qualidade do vídeo e reduzir os requisitos de armazenamento e largura de banda. Para obter mais informações, consulte Transcodificação de mídia compatível .

atuação

Hibernação de aplicativos

O Android 12 oferece a capacidade de hibernar aplicativos que o usuário não usa por alguns meses, semelhante à revogação automática de permissão.

Consulte Hibernação de aplicativos para obter mais informações.

Camada de Abstração do Cgroup

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

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

Permissões

Permissões de Bluetooth

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

  • BLUETOOTH_SCAN : permite que os aplicativos descubram e emparelhem dispositivos Bluetooth próximos.
  • BLUETOOTH_ADVERTISE : permite que os aplicativos anunciem para dispositivos Bluetooth próximos.
  • BLUETOOTH_CONNECT : permite que os aplicativos se conectem a dispositivos Bluetooth pareados.

Essas permissões fazem parte do novo grupo de permissões de tempo de execução NEARBY_DEVICES . Esse grupo de permissões permite casos de uso como conectar-se a um smartwatch sem exigir a permissão de tempo de execução LOCATION .

Essas novas permissões são compatíveis com aplicativos e não são necessárias alterações para aplicativos executados no Android 11 ou inferior. Para aplicativos herdados direcionados ao Android 11 ou inferior, a plataforma converte automaticamente as solicitações das permissões herdadas do Bluetooth em solicitações das novas permissões. Quando um aplicativo é atualizado para o Android 12 ou superior, o aplicativo deve solicitar as novas permissões de Bluetooth explicitamente.

Para obter mais informações sobre como usar as permissões, consulte Permissões do Bluetooth .

Indicadores de privacidade

O Android 12 oferece transparência aos usuários exibindo indicadores quando um aplicativo usa uma fonte de dados privada por meio das permissões de operação do aplicativo de câmeras e microfone.

O App Ops rastreia o status da atividade e o número de chamadas de API individuais e interage com os indicadores de microfone e câmera no Android 12 para mostrar aos usuários quando os aplicativos acessaram dados de áudio e câmera em seus dispositivos. Quando os usuários clicam nos indicadores de microfone ou câmera, eles veem quais aplicativos acessaram seus dados.

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

Localização

A partir do Android 12, os usuários podem solicitar que um aplicativo obtenha apenas precisão aproximada ao acessar informações de localização.

Essa alteração foi projetada para afetar os aplicativos somente quando direcionados ao Android 12 ou superior. No entanto, em dispositivos que têm uma versão mais antiga do módulo PermissionController , essa alteração afeta todos os aplicativos, independentemente da versão do SDK de destino.

Tempo de execução

Verificações Dexpreopt e <uses-library>

O Android 12 tem alterações no sistema de compilação para compilação antecipada (AOT) de arquivos DEX (dexpreopt) para módulos Java que têm dependências <uses-library> . Em alguns casos, essas alterações no sistema de compilação podem interromper as compilações.

Para obter informações sobre como se preparar para quebras e receitas para corrigi-las e mitigá-las, consulte Dexpreopt e <uses-library> Checks .

Testes

Conjunto de testes de compatibilidade (CTS)

Para o Android 12, muitos novos módulos-chave e alterações de teste são introduzidos para o CTS. Consulte as Notas de versão do CTS para obter mais informações.

televisão

Serviço de controle HDMI-CEC

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

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

Estrutura do sintonizador

No Android 12:

  • O frontend com Tuner HAL 1.1 ou superior suporta o padrão DTMB DTV. Os seguintes recursos e configurações de front-end são suportados:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • A API Tuner SDK oferece suporte a novos recursos no Tuner HAL 1.1, que é uma atualização de versão compatível com versões anteriores do Tuner 1.0.

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

Atualizações

Compressão APEX

Após a instalação de uma atualização para um contêiner Android Pony EXpress (APEX), sua versão pré-instalada não é mais usada, mas ocupa a mesma quantidade de espaço de memória. Esse 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 a compactação do APEX no Android 12, consulte APEXes compactados .

Segurança e conveniência para retomar na reinicialização

O Android 12 apresenta suporte multicliente aprimorado e funcionalidade de reinicialização baseada em servidor. O processo de reinício na reinicialização (RoR) oferece segurança e conveniência adicionais aos usuários porque as atualizações OTA podem ser feitas durante os tempos ociosos do dispositivo, enquanto as funcionalidades de atualização baseadas em servidor e multicliente do Android 12 juntas fornecem segurança do tipo de hardware do dispositivo.

Para obter mais informações, consulte Resume-on-Reboot .

Repetição do PIN do SIM com RoR

O Android 12 apresenta repetição do SIM-PIN para verificação perfeita do código PIN após uma reinicialização iniciada por RoR. O PIN do SIM é criptografado novamente e armazenado sempre que um usuário o habilita, verifica ou modifica com sucesso.

Para obter mais informações, consulte Reprodução SIM-PIN .

Atualizações A/B Virtuais

O Android 12 oferece a opção de compactação A/B virtual em partições com instantâneo. No Android 12, partições atualizáveis ​​que o bootloader não usa podem ser capturadas para economizar espaço. Estes também podem ser compactados. Ativar a compactação de instantâneos em sua compilação para o Android 12 economiza espaço na partição /data .

A implementação de A/B virtual com compactação de instantâneos requer alterações no código específico do dispositivo. Consulte as alterações e os detalhes de implementação nas páginas Visão geral de A/B virtual e Implementação de A/B virtual.