Plug-in do Android para Gradle 8.8.0 (janeiro de 2025)

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

Compatibilidade

O nível máximo da API compatível com o plug-in do Android para Gradle 8.8 é o 35. Outras informações de compatibilidade:

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

Problemas corrigidos

Plug-in do Android para Gradle 8.8.0

Problemas corrigidos
Plug-in do Android para Gradle
Considere o tipo de entrada de anotação para JacocoTransform como @Classpath
com.android.build.api.variant.GeneratesApk precisa expor minSdk
O plug-in com.android.settings não reconhece targetSdk
SourceDirectories.addGeneratedSourceDirectory não é compatível com várias variantes.
Implementar flag para desativar a verificação da versão mínima do AGP
O AGP tem interações confusas com a configuração de opções do compilador Kotlin.
O AGP precisa expor um BuiltArtifactLoader para o APK do projeto de destino em projetos com.android.test.
[AGP] O provedor Lazy SdkComponents.ndkDirectory não gera valor, mas a API eager android.ndkDirectory funciona.
Opções de build: adicione uma nova opção "Build Run configuration" e defina como padrão.
BuildConfig não pode ser resolvido em testes de unidade ao usar android.enableBuildConfigAsBytecode=true
Os APKs gerados de pacotes não consideram a compatibilidade com o Sandbox de privacidade.
O plug-in com.android.settings não reconhece targetSdk
Dexer (D8)
A biblioteca de dessugar 2.1.0 não funciona com o AGP 8.5.2.
Lint
Incompatibilidade do KtAnalysisSessionProvider com verificações de lint introduzidas na versão 8.7.0-alpha04
"Falso positivo" WrongConstant ao usar PackageManager.ResolveInfoFlags.of com Kotlin
Erro de lint "É necessário especificar pelo menos um host" ao definir o esquema de filtro de intent http ou https
Processar anotações de uso de tipo em mais casos para lint UnknownNullness
AGP 8.6.1: regressão - falha do lint WrongConstant ao usar [Int].toLong() em uma @LongDef no Kotlin
AGP 8.7.0: falso positivo de lint RestrictedApi em NavOptionsBuilder.popUpTo
O lint WrongConstant aparece duas vezes
O aviso "MonochromeLauncherIcon: Monochrome icon is not defined" não é detectado pelo Android Studio
O AbstractAnnotationDetector verifica funções/construtores sobrecarregados incorretos.
O Lint ImportAliasTestMode não cria aliases de importação para funções de nível superior.
O lint WrongConstant aparece duas vezes
Novos avisos de lint ObsoleteSdkInt com o AGP 8.8
Falso positivo na verificação de lint. A permissão android.permission.SCHEDULE_EXACT_ALARM só é concedida a apps do sistema.
O modo K2 gera um aviso RestrictedApi ao usar .hasRoute(Route::class) no Android Studio
Integração com o Lint
A tarefa de variante do lint não foi encontrada após a avaliação
A lintagem falha ao importar um arquivo AAR com arquivos de implementação

Plug-in do Android para Gradle 8.8.1

Problemas corrigidos
Dexer (D8)
Adicionar o OpenJDK 23 para teste
Redutor (R8)
java.lang.AbstractMethodError: a classe de receptor [...]$$Lambda$[...] não define nem herda uma implementação do método resolvido [...] da interface [...]
NPE no Enqueuer relacionada ao registro DexCallSite.
O R8 8.7.18 causa uma exceção de ponteiro nulo de tempo de execução ao chamar job?.cancel
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
O Monzo parece estar usando muito tempo no tree shaking.
AGP 8.8 falha no build de lançamento : R8: java.lang.NullPointerException: Não é possível ler o campo "b" porque o valor de retorno de "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" é nulo.

Plug-in do Android para Gradle 8.8.2

Problemas corrigidos
Plug-in do Android para Gradle
Script de inicialização "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle", linha: 162
Redutor (R8)
O ProGuard do Gson não funciona corretamente após o upgrade para o AGP 8.8
java.lang.VerifyError: classe do verificador recusada.
O Leanback falha quando é reduzido com o R8 incluído no AGP 8.10.0-alpha04.