A empresa Google lançou a segunda atualização trimestral da plataforma móvel aberta Android 16 (QPR2). O código-fonte relacionado a esta nova versão foi disponibilizado no repositório Git do projeto (ramo android-16.0.0_r4). As compilações do firmware foram preparadas para os dispositivos Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold e Pixel Tablet. Nos próximos meses, novas versões de firmware são esperadas para smartphones da Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo e Xiaomi. Adicionalmente, serão formadas compilações universais GSI (Generic System Images), adequadas para diferentes dispositivos baseados nas arquiteturas ARM64 e x86_64.
O lançamento do Android 16 QPR2 foi elaborado dentro de um novo cronograma de desenvolvimento, segundo o qual, a cada ano, são previstas não apenas uma, mas duas grandes atualizações do Android — uma no segundo trimestre (QPR1) e a outra no quarto trimestre (QPR2). O lançamento de verão trouxe inovações significativas, mudanças de comportamento no SDK e novas APIs. A atualização de inverno contém melhorias, novas APIs e alterações que não afetam a compatibilidade com aplicativos.
As principais novidades do Android 16 QPR2:
- Foi adicionada a capacidade de executar aplicativos gráficos compilados para Linux. A execução é feita por meio do aplicativo Linux Terminal, que permite iniciar uma máquina virtual com Debian GNU/Linux no ambiente Android, onde é possível executar aplicativos Linux comuns. Para ativar o ambiente gráfico, o aplicativo Linux Terminal ganhou um botão "Display", que habilita o redirecionamento gráfico através dos componentes no ambiente principal do Android. Após ativar o botão "Display" no terminal, é possível iniciar o servidor compositor Weston, proporcionando uma sessão de janela minimalista, e depois utilizá-lo para rodar quaisquer aplicativos gráficos, como foi demonstrado com o editor gráfico GIMP.

A funcionalidade da máquina virtual com Linux está se desenvolvendo no âmbito do projeto Ferrochrome. No ambiente convidado, é iniciado o Debian GNU/Linux. Para a virtualização, utiliza-se o framework AVF (Android Virtualization Framework), implementado com base no hipervisor Weston. Para aceleração gráfica, é utilizado o VirGL — um GPU virtual Virgil3D. A execução de aplicativos compilados para X11 é feita com o componente DDX XWayland. KVM e na ferramenta crosvm. O ambiente gráfico utiliza o protocolo Wayland e é baseado no compositor servidor Weston. Para aumentar o desempenho gráfico, é utilizado o VirGL — um GPU virtual Virgil3D. A execução de aplicações compiladas para X11 é realizada através do componente DDX XWayland.
- Foi implementado um tema escuro expandido (Expanded Dark Theme), que inverte automaticamente as cores em aplicativos que não oferecem esse tema. A necessidade de inversão é determinada separadamente para cada aplicativo com base no atributo isLightTheme. A inversão é aplicada aos elementos da interface baseada em Android Views, Composables e WebViews, mas não é utilizada para aplicativos com motores de renderização próprios, como aqueles baseados no framework Flutter.

- Foi disponibilizada a opção de escolher formas específicas de ícones que serão aplicadas a todos os ícones e atalhos de diretórios exibidos.


- Para aplicativos que não oferecem variantes separadas de ícones para temas, foi implementada a capacidade de gerar ícones automaticamente, estilizados de acordo com os temas. Ao gerar, um filtro de cor é aplicado ao ícone existente do aplicativo.

- Foi possibilitada a continuidade da interação com o aplicativo após a abertura do diálogo do sistema Compartilhar (Share) e a atualização do conteúdo da interface do aplicativo durante a seleção do manipulador de compartilhamento.
- No Android Runtime (ART), foi adicionado um coletor de lixo geracional (Generational Concurrent Mark-Compact Garbage Collector), que utiliza o processamento separado de objetos "velhos" e "novos", aumentando a eficiência da limpeza de objetos recentemente criados com curto tempo de vida. O uso do coletor de lixo geracional reduz o risco de pausas durante a alocação de recursos e diminui a carga no CPU, melhorando a eficiência do consumo de energia.
- Foram ampliados os recursos para a análise da interação dos usuários com os widgets — o aplicativo agora pode receber métricas sobre eventos de interação, como cliques, rolagens e impressões (impression).
- Foi implementada a saída de um aviso sobre a falta de alinhamento de memória dentro do aplicativo em depuração com o limite de página de 16 KB. No futuro, é esperado que arquiteturas específicas passem a usar páginas de 16 KB em vez de 4 KB, o que permitirá melhorar o desempenho de programas que trabalham intensivamente com memória.

- Foi adicionado um decodificador de software para o formato de áudio IAMF (Modelos e Formatos de Áudio Imersivo), utilizado na distribuição de som tridimensional (considera a propagação de sinais sonoros em um espaço tridimensional para recriar um som o mais próximo possível do natural).
- A interface de seleção de dispositivo de reprodução (Output Switcher) agora integra a função de compartilhamento de áudio via Bluetooth LE, sem a necessidade de alterar as configurações do Bluetooth.

- O sistema Health Connect agora suporta o rastreamento automático do número de passos dados, utilizando os sensores disponíveis. O acesso à informação sobre o número de passos é fornecido a aplicativos que possuem as permissões READ_STEPS. Este novo método simplifica o código nos aplicativos e reduz o consumo de energia ao rastrear passos. O Health Connect garante armazenamento centralizado de dados de dispositivos de fitness e outras tecnologias relacionadas à saúde do usuário, organizando o acesso conjunto de diferentes aplicativos às informações de saúde.
- Adicionado um novo API de Transferência de Dados para aumentar a confiabilidade na migração de dados entre dispositivos Android e iOS.
- Um API para verificação de desenvolvedores foi adicionado ao processo de instalação de pacotes APK. Comandos para simular a verificação foram adicionados à ferramenta ADB (a possibilidade de instalar aplicativos sem verificação, utilizando ADB, permanecerá inalterada).
- Proteção para SMS com senhas temporárias (OTP) foi assegurada. Para proteger contra a interceptação das senhas temporárias por aplicativos maliciosos, a entrega de SMS com hash para o serviço SMS Retriever será adiada por três horas para a maioria dos aplicativos. Durante esse período, a transmissão do evento RECEIVE_SMS será bloqueada, e as solicitações ao banco de dados com SMS serão filtradas.
- Um novo estado de bloqueio de sistema "Secure Lock Device" foi adicionado, onde, ao ser ativado (por exemplo, pelo serviço de busca de dispositivos perdidos "Find My Device"), o dispositivo será imediatamente bloqueado e exigirá a inserção de um PIN ou senha para desbloqueio. As notificações e lembretes nesse modo serão ocultados da tela de bloqueio, e a desbloqueio biométrico será temporariamente desativado.
Fonte: opennet.ru







