Notas de lançamento do Android 12 e Android 12L

Esta página resume os principais recursos das versões Android 12 e Android 12L 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 da classe AlwaysOnHotwordDetector

A partir do Android 12, a classe AlwaysOnHotwordDetector , incluindo seu método de fábrica, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector() , é uma API de sistema ( @SystemApi ) em vez de uma API pública. A classe AlwaysOnHotwordDetector destina-se ao uso por aplicativos Assistant com privilégios de nível de sistema, que geralmente são fornecidos 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 é o app Assistant atualmente ativo, 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 aplicação de permissões relacionadas ao uso do microfone por meio da API de acionamento 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 Assistant) que chama a classe AlwaysOnHotwordDetector . Isso melhora a privacidade do usuário e a transparência nos pacotes que utilizam 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 acionamento de som diretamente, mas por meio de serviços de nível superior residentes no processo system_server .

O impacto destas alterações é o seguinte:

  • Os aplicativos que não são do sistema e usam a classe AlwaysOnHotwordDetector não são compilados na API do Android 12 porque a API foi removida da superfície pública.
  • Os aplicativos de sistema existentes que usam a classe AlwaysOnHotwordDetector podem ter o uso de recursos de gatilho de som negado 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 à linguagem Android Rust

O Android 12 agora oferece suporte ao uso de código Rust. Uma nova seção adicionada à documentação de configuração fornece orientação para desenvolvimento em Android com Rust.

Para obter mais informações sobre o Android Rust, vários módulos e ver exemplos (bem como obter informações de configuração do IDE), consulte a nova seção do Android Rust em Introdução ao Android Rust .

Cabeçalho da imagem de inicialização

O Android 12 adiciona o uso do cabeçalho de imagem de inicialização versão 4, que é a imagem de inicialização principal para dispositivos compatíveis com 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 utilizam 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 no Android 12, um mecanismo para passar detalhes de configuração do build e do bootloader para o Android 12, substitui as opções de cmdline do kernel androidboot.* usadas com o Android 11 e versões anteriores. Este recurso fornece uma maneira de separar os parâmetros de configuração do espaço do usuário Android daqueles do kernel.

Para ler mais, visite Implementando Bootconfig .

Substituição de fonte personalizada

Antes do Android 12, a atualização de arquivos de fontes 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. Este requisito tem um impacto significativo na compatibilidade dos 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 atualizar o sistema.

Para obter informações sobre esse novo recurso, consulte Implementando substituto de fonte personalizada.

Pilhas DMA-BUF

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

Habilitar filtros de localidade

O Android 12 apresenta um recurso que você pode usar para configurar 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 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 Ativando o filtro de localidade .

Ramdisks de fornecedores de Flash

O Android 12 introduz suporte para flashing 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, recrie a imagem e atualize a nova imagem. Este suporte inclui alterações no bootloader e fastbootd para obter os dados necessários, como tamanho e deslocamento da partição.

Para obter mais informações, consulte Ramdisks do fornecedor em flash na página Fastboot no espaço do usuário .

Controle de versão GKI

A partir do Android 12, a parte do 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 lançados 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 a 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 estatísticas mm_events , consulte Eventos MM - Estatísticas históricas de memória .

Restrições da janela de alerta do sistema

Para melhorar a segurança do ecossistema Android, o Android 12 tornou mais difícil a aquisição da 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 appOp 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 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) está obsoleto em favor de HIDE_OVERLAY_WINDOWS .

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

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

Devido às alterações nas partições de inicialização do fornecedor no Android 12 e versões posteriores, não é possível usar default como nome de fragmento do disco RAM do fornecedor. é designado como reservado. Usá-lo para nomear fragmentos de ramdisk de fornecedores não é permitido em nenhuma circunstância.

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

Áudio

Roteamento combinado de dispositivos de áudio

O recurso de roteamento combinado de dispositivos de áudio adiciona suporte para streaming de áudio para vários dispositivos de áudio simultaneamente. Usando esse recurso, 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 combinado de dispositivos de áudio .

Atualizações para á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 13. Para preparar e aprimorar essa adoção futura do AIDL, alterações significativas serão feitas na versão 7 do HAL de áudio no Android 12.

Para obter mais informações, consulte Atualizações na 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 introduz a entrada de metadados estáticos da câmera deviceStateOrientationMap que permite que o HAL da câmera informe o cliente da câmera e a estrutura da câmera sobre 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 de 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 necessárias da superfície de saída 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 , o que permite consultar se um dispositivo oferece suporte a 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 introduz APIs de plataforma que permitem que os aplicativos aproveitem 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 em 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 quando operando 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 armazenamento de números de discagem abreviada (ADN).

Para obter mais detalhes, consulte Tela e armazenamento .

Atualizações da câmera ITS

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 testes Mobly.

Para obter mais informações, consulte 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 versões anteriores com atualizações para novos recursos e alterações nos requisitos para 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 múltiplas conexões virtuais distintas que fornecem diferentes quantidades de recursos para diferentes tipos de tráfego. Isto permite que as operadoras de rede dediquem uma parte da rede ao fornecimento de recursos específicos para um determinado segmento de clientes.

Para obter mais informações, consulte Fatiamento de rede 5G .

Perfis do Gerenciador de dispositivos complementares

Os aplicativos direcionados ao Android 12 e versões posteriores podem usar perfis de dispositivos complementares ao se conectar 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íficas do tipo de dispositivo em uma única etapa.

Captura de tela de um telefone mostrando uma solicitação de concessão de 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 sobre 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 modelo de registro único para fornecer recursos MMTEL e RCS. Este modelo permite que os dispositivos tenham todos os recursos do IMS gerenciados por meio de um único registro IMS fornecido pelo ImsService do dispositivo. Comparado com um modelo de registro duplo, onde vários registros IMS são gerenciados em um único 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 IMS .

Detecção de fuso horário de localização

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 ao Android re-randomizar endereços MAC para determinadas redes no início de cada conexão.

Para obter mais informações, consulte Comportamento de randomização MAC .

Seleção de rede

O Android 12 introduz 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 apps usem o novo estilo de notificação, CallStyle , para chamadas de voz e vídeo recebidas e em andamento. Este estilo de notificação inclui botões de ação para atender, recusar e desligar chamadas. Ele também usa o mesmo estilo centrado na pessoa usado pelas conversas , o que é consistente com seu comportamento de classificar as notificações de chamadas no topo da aba.

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 de chamadas no topo da aba. Para chamadas 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 senha

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 de no menu de energia 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 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 horário do Network Time Protocol (NTP) em vez da fonte de identidade de rede e fuso horário (NITZ) por padrão.

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

Alterne para desativar 2G

Para melhorar a segurança, o Android 12 introduz uma alternância de 2G nas configurações que permite aos usuários desativar 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 está habilitado por padrão. As operadoras podem desabilitar o recurso em tempo de execução por meio do sinalizador CarrierConfig KEY_HIDE_ENABLE_2G .

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

Especificações UICC

No Android 12, para executar os testes da API da operadora CTS, o dispositivo precisa usar um UICC de desenvolvedor com privilégios de operadora CTS que atenda 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 criem um ponto de acesso de tethering duplo (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 evita 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).

Aprimoramentos no protocolo de segurança Wi-Fi

O Android 12 introduz 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 automotivas para saber mais sobre esses novos recursos:

Mostrar

Bloqueie toques não confiáveis

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

Notificações e widgets de conversas

O Android 11 adicionou suporte para personalizar o comportamento e o posicionamento de Notificações de Conversa na aba Notificações por prioridade e nível de alerta, permitindo que Conversas sejam marcadas como Importantes e balões específicos de conversa sejam lançados no espaço de 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-lhes retomar facilmente as conversas sem esperar por uma notificação.

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

Janela borrada

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 tudo o que está atrás de sua janela. Você pode criar janelas com fundos desfocados, criando um efeito de vidro fosco, ou mostrar janelas com a tela inteira atrás delas desfocada, 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 Desfoques de janela .

Ampliação da janela

No Android 12, os usuários com deficiência visual podem ampliar qualquer coisa em sua tela usando o recurso de ampliação de janela. A ampliação da janela permite que os usuários ampliem uma parte selecionada da tela, em vez de usar uma função de zoom em uma tela inteira. A janela selecionada pode ser arrastada por toda a exibição, o que permite ampliar diferentes partes da tela conforme necessário.

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

Empreendimento

Atualizações de administração de dispositivos

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

  • Atualizações gerenciadas de segregação de dados de perfil. 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 da inscrição que identifica a inscrição do perfil de trabalho para uma organização específica. Para obter detalhes, consulte Identificadores de dispositivos .

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

Gráficos

Manipulação de hot plug no Composer HAL

Os recursos de exibição (como modos de exibição e tipos de HDR compatíveis) podem mudar dinamicamente em dispositivos que possuem monitores conectados externamente (via HDMI ou DisplayPort), como decodificadores de Android TV (STB) e over-the-top (OTT) dispositivos. Do Android 12 em diante, 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 modulares do sistema

O Android 13 contém vários componentes de sistema modular novos e atualizados. Os novos módulos são:

  • ART : Este módulo tem como objetivo 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 : Este módulo contém lógica que detecta se o dispositivo está ou não em estado inativo e pode ser reinicializado sem interrupção do usuário.

Atualizações para módulos existentes:

  • adbd : Atualizado o limite do módulo.

  • DocumentsUI : navegação de arquivos desativada.

  • ExtServices : Adicionado DisplayHashingService e atualizado o limite do módulo.

  • Mídia : Adicionado um novo componente de mídia.

  • Tempo de execução NNAPI : Atualizado o limite do módulo.

  • PermissionController : tornou o módulo PermissionController completamente modular e atualizou o limite do módulo.

  • Extensões SDK : Atualizada a responsabilidade do módulo e adicionado um novo componente.

  • Statsd : Atualizado o limite do módulo.

  • Tethering : funcionalidade adicionada atualizou o limite do módulo.

  • Dados de fuso horário : Atualizado o formato do pacote.

  • Wi-Fi : Atualizado o limite do módulo.

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 com armazenamento eficiente 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 .

Desempenho

Hibernação de aplicativos

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

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

Camada de abstração 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 de usar um novo comando task_profiles que substitui o comando writepid obsoleto. Esta substituição garante que as implementações subjacentes do cgroup não tenham efeito nas camadas superiores ao migrar tarefas nas hierarquias do cgroup. O Android 12 também introduz suporte para perfis de tarefas por nível de API.

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

Permissões

Permissões Bluetooth

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

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

Essas permissões fazem parte do novo grupo de permissões de tempo de execução NEARBY_DEVICES . Este 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 nenhuma alteração é necessária para aplicativos executados no Android 11 ou inferior. Para aplicativos legados direcionados ao Android 11 ou inferior, a plataforma traduz automaticamente as solicitações de permissões Bluetooth herdadas em solicitações de novas permissões. Quando um app é atualizado para o Android 12 ou superior, o app precisa solicitar explicitamente as novas permissões de Bluetooth.

Para obter mais informações sobre como usar as permissões, consulte Permissões de 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 de câmeras e permissões de operação do aplicativo de 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 do microfone ou da câmera, eles veem quais aplicativos acessaram seus dados.

Este 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 mudança foi projetada para afetar aplicativos apenas quando direcionados ao Android 12 ou superior. No entanto, em dispositivos que possuem 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 possuem 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 verificações de <uses-library> .

Testes

Conjunto de testes de compatibilidade (CTS)

Para o Android 12, muitos novos módulos principais e alterações de teste foram introduzidos para o CTS. Consulte 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 monitores conectados 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 de 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 APEX no Android 12, consulte APEXes compactados .

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

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

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

Repetição do PIN do SIM com RoR

O Android 12 apresenta repetição do SIM-PIN para verificação contínua 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 ativa, verifica ou modifica com êxito.

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 snapshot. No Android 12, as partições atualizáveis ​​que o bootloader não usa podem ser capturadas para economizar espaço. Eles também podem ser compactados. Ativar a compactação de snapshots em seu build para Android 12 economiza espaço na partição /data .

A implementação do Virtual A/B com compactação de snapshots requer alterações no código específico do dispositivo. Veja as alterações e detalhes de implementação nas páginas Visão geral do Virtual A/B e Implementação do Virtual A/B .