Plug-in do Android para Gradle 9.6.0

O Plug-in do Android para Gradle 9.6 é uma versão secundária que inclui vários novos recursos e melhorias.

Compatibilidade

O nível máximo da API com suporte do Plug-in do Android para Gradle 9.6 é o 37. Confira outras informações de compatibilidade:

Versão mínima Versão padrão Observações
Gradle 9.7.1 9.7.1 Para saber mais, consulte Como atualizar o Gradle.
Ferramentas de build do SDK 36.0.0 36.0.0 Instale ou configure as ferramentas de build do SDK.
NDK N/A 28.2.13676358 Instale ou configure uma versão diferente do NDK.
JDK 17 17 Para saber mais, consulte Como configurar a versão do JDK.

Cobertura de código no dispositivo para testes de instrumentação

O AGP 9.6.0-alpha01 adiciona cobertura de código no dispositivo para testes de instrumentação. Em vez de instrumentar as classes do app com o JaCoCo no momento do build, o AGP adiciona um agente de cobertura ao APK de teste, e o agente instrumenta as classes no dispositivo de teste enquanto os testes são executados. Isso remove a etapa de instrumentação do JaCoCo dos builds que têm o enableAndroidTestCoverage ativado e mantém o código de acompanhamento de cobertura fora do APK do app. Execute a mesma tarefa create{Variant}AndroidTestCoverageReport, e o AGP vai gerar os relatórios HTML e XML no mesmo local. A cobertura de código no dispositivo requer um app depurável e um dispositivo com o Android 9 (nível 28 da API) ou mais recente.

O AGP adiciona a biblioteca do agente de cobertura, com.android.tools.test:coverage-agent, com a mesma versão do AGP. Para mais informações, consulte Ver relatórios de cobertura de código (com agente no dispositivo).

Problemas corrigidos

Plug-in do Android para Gradle 9.6.0-alpha02

Problemas corrigidos
Plug-in do Android para Gradle
Leitura de propriedades do sistema não seguras para tarefas do R8

Plug-in do Android para Gradle 9.6.0-alpha01

Problemas corrigidos
Plug-in do Android para Gradle
shrinkresources não funciona com APKs de biblioteca devido a uma mudança recente no aapt2
Lint
Os resultados parciais do ThreadConstraint do Lint não são deterministas em JVMs, o que interrompe o cache de build para lintAnalyze.