Este é o Now in Android, seu guia contínuo sobre as novidades e os destaques do mundo do desenvolvimento para Android.
Continue lendo para saber mais sobre o Android 16 QPR2 Beta 1, o lançamento de recursos do Android Studio Narwhal, o Jetpack Compose 1.9, o Media 3 1.8, a transformação de formas e o preenchimento automático no Compose, entre outros.
Você pode assistir um resumo em vídeo:
Também temos um podcast.
Mas este post tem as informações mais detalhadas, então continue lendo!
Chegou o Android 16 QPR2 Beta 1 ✨
A primeira versão Beta do Android 16 QPR2 já está disponível, o primeiro lançamento do Android com uma versão secundária do SDK. As versões secundárias do SDK podem incluir novas APIs que estendem os recursos da plataforma, mas não podem introduzir mudanças de comportamento controladas pelo targetSdkVersion, minimizando a quantidade de testes necessários para seus apps.
É possível chamar novas APIs verificando SDK_INT_FULL em relação à enumeração VERSION_CODES_FULL:
if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) { // Call new APIs from the Android 16 QPR2 release }
Não é possível usar VERSION_CODES_FULL em atributos de manifesto uses-sdk.
Confira algumas atualizações importantes do QPR2 Beta 1.
Interface, experiência do sistema e acessibilidade:
- Uma opção de tema escuro estendido inverte de forma inteligente os apps claros para usuários que preferem uma aparência escura.
- Os ícones de app com tema automático podem ser gerados pelo sistema se o app não tiver uma camada monocromática.
- As sessões de seletor interativo mantêm a interface do app ativa enquanto a página de compartilhamento está aberta, usando
ChooserManagereChooserSession. - Uma nova API de Transferência de dados permite uma migração de dados mais confiável e segura entre o Android e o iOS, exigindo atualizações no XML das regras de extração de dados do app e na implementação de
BackupAgent. - O pacote
android.graphics.pdffoi expandido para oferecer suporte à anotação e edição de documentos PDF usandoPdfRenderer.Page. - Os valores de
ViewConfigurationagora são personalizados para dispositivos virtuais individuais. Migre paraViewConfiguration.get(context)para cenários com várias telas. - Você tem um controle de retorno tátil mais granular ao especificar
VibrationAttributescomView.performHapticFeedback(HapticFeedbackRequest). - Os blocos de Configurações Rápidas agora podem ser atribuídos a categorias predefinidas no arquivo
AndroidManifest.xml.
Mídia e áudio:
- Decodificação de software para o Immersive Audio Model and Formats (IAMF), um formato de áudio espacial aberto.
- O Compartilhamento de Áudio Pessoal para dispositivos de áudio Bluetooth LE Audio está integrado diretamente ao seletor de saída do sistema.
- Os usuários podem controlar o brilho do HDR usando um controle deslizante de brilho HDR/SDR
- Os extras do seletor de fotos podem destacar álbuns ou consultas de pesquisa específicos.
Conectividade:
- As melhorias no Gerenciador de dispositivos complementares (CDM, na sigla em inglês) permitem fornecer ícones de dispositivos personalizados, detectar o callback
EVENT_ASSOCIATION_REMOVEDe ativar a verificação entre apps usando o DeviceId. - As atualizações do Bluetooth incluem suporte à verificação passiva para
BluetoothLeScanner(ScanSettings.SCAN_TYPE_PASSIVE), motivos de perda de vínculo (BluetoothDevice.EXTRA_BOND_LOSS_REASON) e recuperação direta de UUIDs de serviço (BluetoothDevice.EXTRA_UUID_LE). - As atualizações de alcance do Wi-Fi RTT (
RttStationRangingParams) oferecem suporte ao alcance em relação às estações. - Um novo
PhoneNumberManagerestá disponível para analisar e validar números de telefone de cabeçalhos de URI associado a P do IMS. - As melhorias de privacidade de rede do MediaRouter permitem a transmissão em novas mídias, como Bluetooth e UWB. Use o seletor de saída do sistema ou solicite permissões
NEARBY_DEVICESpara seletores personalizados no app.
Privacidade e segurança:
- Um novo estado de segurança no nível do sistema, o Bloqueio Seguro do Dispositivo, bloqueia os dispositivos e exige a autenticação principal para desbloquear.
- Uma opção voltada ao usuário foi adicionada à Proteção contra Roubo de Celular para ativar/desativar o Bloqueio por Falha na Autenticação.
Produtividade do desenvolvedor:
- As novas APIs
AppWidgetManagerpermitem consultar métricas de engajamento de widgets. - Os apps depuráveis instalados pelo ADB agora vão receber avisos antecipados sobre a compatibilidade com o tamanho de página de 16 KB.
- O
ProfilingManageradiciona suporte a novos acionadores de criação de perfil iniciados pelo sistema e aorequestRunningSystemTracepara capturar traces em segundo plano. - A opção "Registro de impressão detalhado" nas Opções do Desenvolvedor fornece mais informações de depuração para o framework de impressão do Android.
- Os testes mais robustos para experiências em computadores e várias telas estão disponíveis com as novas APIs
UiAutomationpara capturas de tela em telas não padrão eAccessibilityWindowInfo.refreshpúblicas. - O suporte à API foi adicionado à nova biblioteca
androidx.core:core-backported-fixes. - Os apps de GUI agora são compatíveis com o terminal do Linux
- O
WindowInspector.addGlobalWindowViewsListeneroferece suporte a notificações de mudança de visualização raiz em tempo real.
Você pode registrar qualquer dispositivo Pixel compatível para receber atualizações Beta over the air ou usar imagens do sistema de 64 bits com o Android Emulator no Android Studio. A Estabilidade da Plataforma está prevista para outubro de 2025.
A atualização de recursos do Android Studio Narwhal está estável. Comece a usar o Modo Agente 🐳
A atualização de recursos do Android Studio Narwhal agora está estável. Os novos recursos e melhorias incluem:
- O Gemini no Android Studio: Modo Agente está disponível para tarefas de programação em várias etapas
- As regras da biblioteca de comandos personalizam a resposta de IA do Gemini de acordo com as necessidades do seu projeto.
- A interface de transformação com o Gemini usa uma interface de linguagem natural para iterar na interface do Compose.
- Suporte ao desenvolvimento imersivo com o Android Emulator para XR integrado, um novo modelo de XR e o Layout Inspector para XR integrado.
- Acesso ampliado a dispositivos pelos laboratórios de dispositivos parceiros do Android no streaming de dispositivos Android.
- Melhores visualizações do Compose com navegação de código aprimorada e o novo seletor de visualização do Compose
- Compilador Kotlin K2 ativado por padrão para acelerar o desempenho do build
- Ferramentas de tamanho de página de 16 KB com avisos de lint, análise e um emulador para ajudar você a se preparar para os próximos dispositivos com tamanho de página de 16 KB.
Streaming de dispositivos Android, com tecnologia do Firebase
O Streaming de Dispositivos Android, desenvolvido pelo Firebase, agora oferece suporte estável para os laboratórios de dispositivos parceiros do Android. Com isso, você pode se conectar remotamente a dispositivos Android físicos hospedados por parceiros OEM, incluindo Samsung, Xiaomi, OPPO, OnePlus e vivo.
Aceleração do desenvolvimento com lançamentos mensais para o Android Studio, duas vezes mais frequentes do que antes
O Android Studio está mudando para uma cadência de lançamento estável mensal para acelerar o acesso a novos recursos e correções de bugs críticos. Enquanto o ambiente de desenvolvimento integrado do Android Studio será atualizado mensalmente, novas versões da plataforma IntelliJ serão lançadas a cada poucos meses, com as atualizações de recursos preenchendo as versões estáveis intermediárias. O Android Emulator e o Plug-in do Android para Gradle vão continuar sendo atualizados separadamente a cada dois meses. Esse cronograma de lançamentos acelerado é apoiado por investimentos de longo prazo na infraestrutura de testes.
Novidades da versão de agosto de 2025 do Jetpack Compose 🚀
A versão de agosto de 2025 do Jetpack Compose (versão 1.9) já está estável. Esta versão apresenta Modifier.dropShadow e Modifier.innerShadow para renderizar efeitos de sombra de caixa. Os novos modificadores onVisibilityChanged e onFirstVisible permitem acompanhar a visibilidade do elemento para atualizações da interface ou registro de impressões. É possível aplicar estilos avançados em OutputTransformation usando TextFieldBuffer.addStyle para transformações de texto.
Os elementos básicos do LazyLayout agora estão estáveis, e você pode definir um LazyLayoutCacheWindow para melhorar o desempenho da lista e da grade lentas com a pré-busca aprimorada. O Scrollable2D permite a rolagem bidimensional, incluindo rolagem rápida e aninhada, com várias melhorias para a interoperabilidade de rolagem e rolagem aninhada com visualizações. Uma API de ativação (Composer.setDiagnosticStackTraceEnabled) fornece detalhes mais completos sobre o local da falha em stack traces, recomendada apenas para builds de depuração. As novas anotações @RememberInComposition e @FrequentlyChangingValue, junto com as verificações de lint associadas, estão disponíveis em uma nova biblioteca de anotações de ambiente de execução. Os menus de contexto podem ser personalizados usando Modifier.appendTextContextMenuComponents e Modifier.filterTextContextMenuComponents. Agora é necessário usar o Plug-in do Android para Gradle (AGP) / Lint versão 8.8.2 ou mais recente.
Media3 1.8.0: novidades 🚀
O Media3 1.8.0 já está disponível, com vários novos recursos e melhorias. O ExoPlayer ganhou um modo de arrastar para buscas frequentes feitas pelo usuário, que pode ser ativado usando ExoPlayer.setScrubbingModeEnabled. HlsInterstitialsAdsLoader agora é compatível com transmissões ao vivo para inserção de anúncios guiada pelo servidor.
O MetadataRetriever foi atualizado para permitir que você recupere as durações dos itens de mídia sem reprodução. Para o Transformer, a versão apresenta operações de corte mais rápidas usando listas de edição MP4 com experimentalSetMp4EditListTrimEnabled e otimizações de codificador específicas do chipset usando CodecDbLite, ativadas ao chamar setEnableCodecDbLite em DefaultEncoderFactory.Builder.
Outras atualizações incluem suporte para download parcial em Downloader com PreCacheHelper, roteamento automático de áudio XR no ExoPlayer e interações mais eficientes com o MediaCodec. O módulo MediaSession agora mantém as notificações visíveis por mais tempo por padrão, e o app de demonstração da sessão de mídia mostra a funcionalidade de retomada de reprodução. Um novo app de demonstração do Composition, criado com Kotlin e Compose, mostra a edição avançada de vídeos com vários recursos.
Artigos 📚
#WeArePlay: conheça as pessoas que estão programando um mundo mais sustentável
A iniciativa #WeArePlay destaca apps Android e jogos que abordam desafios ambientais. O jogo BoRa — Parque Nacional do Iguaçu, desenvolvido por Mayla, Flávia, Andréia e Ariane, oferece experiências interativas gamificadas e acessíveis para educação ambiental durante as visitas ao parque. O app de Louis e Justin, CyberTracker, permite que rastreadores indígenas não alfabetizados registrem dados de biodiversidade por uma interface baseada em ícones, apoiando os esforços de conservação. Por fim, o Earth5R, cofundado por Bharati e Saurabh, oferece educação ambiental e conecta os usuários a estágios e projetos para desenvolver habilidades para a economia verde.
O que é HDR? 🌟
O High Dynamic Range (HDR) permite que os desenvolvedores Android aumentem o brilho máximo além do Standard Dynamic Range (SDR), oferecendo maior fidelidade visual. O Android oferece suporte a HDR para vídeos e imagens, incluindo tecnologias como UltraHDR para compatibilidade com versões anteriores.
Entender as cores envolve três componentes:
- Profundidade de bits: define a precisão da representação de cores, com uma profundidade maior oferecendo transições mais suaves.
- Função de transferência: mapeia valores numéricos de pixel para a luminância ou cor exibida, ajustando-se à resposta visual humana não linear. Os exemplos incluem sRGB, HLG e PQ.
- Gama de cores: representa o intervalo de cores que um dispositivo pode reproduzir.
Equívocos comuns sobre o HDR:
- Cores vibrantes: gamas de cores mais amplas, como Display P3 e Adobe RGB, estavam disponíveis antes do HDR, e a maioria das telas ainda se limita ao P3, mesmo com conteúdo BT.2020.
- Mais contraste/melhor detalhamento de preto: o HDR não oferece pretos mais escuros do que o SDR na mesma tela. As telas OLED oferecem contraste infinito para ambos. Embora a PQ aloque mais bits para regiões escuras, ela não é um recurso HDR universal.
- Maior profundidade de bits: embora alguns perfis de vídeo HDR (por exemplo, HDR10) usem streams de 10 ou 12 bits, isso é específico para esses perfis e não é inerente ao HDR em si. Profundidades de bits mais altas também são comuns em outros formatos de imagem.
O HDR significa principalmente maior brilho máximo. Esse "headroom de HDR" é definido como uma região flutuante em relação ao SDR. Enquanto o vídeo HDR tradicional geralmente codifica um headroom fixo, as telas modernas usam um headroom dinâmico, o que pode levar a diferenças de qualidade. Tecnologias como Ultra HDR e mapas de ganho oferecem alternativas com uso eficiente de bits. O kit de ferramentas de interface do Android usa a API extendedRangeBrightness para oferecer experiências em HDR, mesmo com RGBA_8888.
Vídeos 📹
Elementos compartilhados avançados com transformação de forma | Dicas do Jetpack Compose
O Jetpack Compose agora permite transições avançadas de elementos compartilhados, transformação de formas sofisticada e animações de revelação. Os desenvolvedores podem configurar SharedTransitionLayout no nível superior do app e usar Modifier.sharedBounds para vincular elementos.
A transformação de formas é um novo recurso importante, alcançado com o uso da biblioteca de formas gráficas do AndroidX do Material 3. Isso envolve criar um objeto Morph com formas de início/fim definidas, controlar o progresso com animateFloat (de AnimatedVisibilityScope) e aplicá-lo como um clipe usando um OverlayClip personalizado. Os efeitos de revelação usam skipToLookaheadSize e skipToLookaheadPosition. Todas essas animações avançadas também são compatíveis com os gestos de volta preditivos.
Gemini multimodal no Android Studio: desenvolvimento de interface com tecnologia de IA
A IA do Gemini no Android Studio ajuda no desenvolvimento de interfaces gerando código com base em designs (incluindo imagem para código), criando prévias do Compose com dados sintéticos e refinando interfaces atuais com comandos diretos.
Consumir um SDK ativado pelo ambiente de execução
O Android 14 apresenta o SDK Runtime, uma nova tecnologia que isola SDKs de terceiros em um sandbox de processo seguro e separado para melhorar a privacidade e a segurança.
Para desenvolvedores:
- Os SDKs ativados pelo ambiente de execução (RE, na sigla em inglês) são executados nesse processo separado.
- Os SDKs com reconhecimento de ambiente de execução (RA) servem como intermediários no seu app.
- Carregue SDKs RE usando
SdkSandboxManagerCompat, observando as restrições (por exemplo, primeiro plano, carregamento único). - As ferramentas de shim simplificam a comunicação de baixo nível entre processos.
- Renderize a interface de SDKs de RE usando
SandboxedSdkVieweSandboxedUiAdapter. - Inicie atividades do SDK Runtime usando
SdkActivityLauncher.
Transformação de formas do Material 3 para Wear OS | Dicas do Jetpack Compose
O Material 3 para Wear OS do Compose agora simplifica a transformação de formas. Os desenvolvedores podem adicionar facilmente mudanças de forma animadas a botões redondos com IconButtonDefaults.animatedShapes, criar grupos de botões que animam mudanças de largura usando o componente ButtonGroup e Modifier.animateWidth(), além de criar listas de rolagem vertical (TransformingLazyColumn) em que os itens são dimensionados e transformados usando TransformationSpec à medida que se aproximam das bordas da tela.
Versões do AndroidX 🚀
Confira um resumo das mudanças do AndroidX, priorizando as mais relevantes para desenvolvedores de apps Android:
Mudança geral que afeta as bibliotecas do Compose:
- O padrão
minSdkfoi elevado para a API 23: paraandroidx.composeanimation,foundation,material,runtimeeui, a versão mínima padrão do SDK foi movida da API 21 para a API 23. Isso significa que, se você estiver usando as versões Alfa mais recentes dessas bibliotecas do Compose, seu app vai exigir implicitamente o Android 6.0 (Marshmallow) ou uma versão mais recente.
Principais mudanças para desenvolvedores do Compose:
- Nova API de retenção (ambiente de execução do Compose): introduz uma API de retenção semelhante a
rememberSaveable, mas para valores que saem da hierarquia de composição sem serem serializados. Ele tem uma vida útil mais curta do que os valores salvos e se comporta de maneira semelhante a umViewModel, oferecendo uma nova maneira de gerenciar o estado de elementos que podem entrar e sair da composição. - Transições de elementos compartilhados aprimoradas (animação e interface do Compose): novas APIs para ativar/desativar dinamicamente elementos compartilhados, considerar transições em andamento e definir limites de destino alternativos quando um elemento compartilhado é descartado. Um novo
Modifier.skipToLookaheadPositiontambém está disponível para ancorar layouts. - Pré-busca de paginador melhorada (Compose Foundation): a estratégia de pré-busca do paginador agora usa uma "janela de cache" (1 tamanho de janela de visualização) em vez de um único item, e a pré-busca inicial é ativada por padrão. Os itens também são mantidos por mais tempo para que a rolagem seja mais suave.
- Tratamento de foco refinado para mouse/touchpad (Compose Foundation e UI): o
ComposeViewsagora vai limpar o foco automaticamente quando um evento de ponteiro para baixo (do mouse ou touchpad) ocorrer fora do nó em foco. É possível desativar essa opção. - Retângulos de foco personalizáveis (Compose Foundation): o
FocusPropertiesagora permite definir uma área de foco personalizada em vez de usar a caixa delimitadora como padrão, melhorando a travessia de foco e a lógica de "manter em visualização" em contêineres roláveis. - LifecycleOwner combinável (Lifecycle): um novo elemento combinável permite criar instâncias
LifecycleOwnercom escopo diretamente na árvore da interface. Isso é particularmente útil para gerenciar ciclos de vida de componentes de forma independente e para bibliotecas como a Navigation. - Suporte para tipos anuláveis em
SavedStateHandle(LifecycleeSavedState): simplificamos o salvamento e a restauração de propriedades anuláveis com suporte nativo emSavedStateHandleeSavedStateRegistryOwner. - Novo
LineHeightStyle.Mode.Tight(Compose Foundation e UI): um novo modo compacto ajuda a aplicar alturas de linha menores, mesmo que isso signifique cortar glifos mais altos, oferecendo um controle de layout de texto mais preciso. - Toque duas vezes para selecionar uma palavra (Compose Foundation): adicionamos suporte ao toque duplo para selecionar palavras em
SelectionContainereBasicTextField. - Mudanças de comportamento do WindowInsets (IU e Foundation do Compose):
◦ Uma nova APIWindowInsets.cutoutPathpara acessar o caminho do corte da tela.
◦ A flagisWindowInsetsDefaultPassThroughEnabledfoi removida, definindoWindowInsetscomo não consumir por padrão, permitindo que as visualizações filhas as recebam. AndroidViewrequestRectangleOnScreenCorreção (Compose Foundation): as solicitações feitas por AndroidViews (por exemplo,EditTexttentando permanecer na tela) agora são propagadas corretamente para o Compose.- Rolagem 2D aprimorada com a roda do mouse (Compose Foundation e UI): melhor suporte para eventos de rolagem 2D com a roda do mouse, com novas APIs de teste e uma flag para controlar o comportamento.
Novas bibliotecas e utilitários:
androidx.core:core-backported-fixes(nova biblioteca): permite que os desenvolvedores verifiquem se correções de bugs críticos (por exemplo, problemas no nível da plataforma, como bugs específicos da câmera) foram aplicadas a um dispositivo. Isso permite oferecer diferentes experiências do usuário, dependendo se um bug conhecido foi resolvido ou não.
Outras mudanças importantes:
- Atividade e entrada de jogos: adicionamos suporte padrão para tamanhos de página de 16 KB e suporte para mouse para
GameActivity. - Posicionamento de dicas do Material 3: mais provedores de posição para dicas, permitindo o posicionamento acima, abaixo, à esquerda ou à direita da âncora.
- Material3
DatePickerCorreções: garante que o DatePicker respeite a própria localidade para formatação de números e corrige problemas de exibição em RTL. - Suporte a display_override de TWA (navegador): adicionamos suporte à propriedade de manifesto
display_overridede TWA, oferecendo mais controle sobre a exibição de TWA. - Iniciar o URL inicial em um app externo (navegador): adicionamos uma intent para permitir o início do URL inicial de uma TWA em um navegador externo.
Android Developers Backstage
O Android Developers Backstage está de volta com outro episódio.
Preenchimento automático no Compose
O Jetpack Compose 1.8 apresenta recursos de preenchimento automático significativamente aprimorados, aproveitando o sistema de semântica do Compose. Agora, os desenvolvedores podem integrar facilmente o preenchimento automático no nível do sistema, bastando marcar os campos de texto com a semântica de tipo de conteúdo relevante (por exemplo, nome de usuário, senha). Isso elimina a necessidade de gerenciamento manual da árvore de preenchimento automático e melhora o desempenho.
Agora… 👋
Isso é tudo para esta edição, com cobertura do Android 16 QPR2 Beta 1, o lançamento de recursos do Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, transformação de formas e preenchimento automático no Compose e muito mais.
Volte em breve para conferir as próximas novidades do universo de desenvolvedores Android.
-
ComunidadeMais de 900 participantes se reuniram nos espaços do evento para uma palestra sobre nossa visão do futuro, sessões de demonstração, dezenas de workshops, um hackathon e discussões da comunidade focadas em ideias e feedback sobre a plataforma Android.
Florina Muntenescu • 1 min de leitura -
ComunidadeO Android anunciou recentemente a verificação de desenvolvedor, uma camada extra de segurança que impede usuários de má-fé e dificulta a propagação de danos.
Matthew Forsythe • Leitura de 2 min -
ComunidadeLançamos as habilidades oficiais do Android em abril. Nesta postagem do blog, abordamos o feedback que recebemos e explicamos a filosofia e a metodologia por trás do projeto.
Jose Alcérreca • Leitura de 4 min
Receba os insights mais recentes sobre o desenvolvimento para Android na sua caixa de entrada toda semana.