Notas da versão do Plug-in do Android para Gradle 8.9

O repositório JCenter passou a ser somente leitura em 31 de março de 2021. Para saber mais, consulte a atualização do serviço JCenter.

O sistema de build do Android Studio é baseado no Gradle, e o Plug-in do Android para Gradle adiciona vários recursos específicos para a criação de apps Android. Embora o Plug-in do Android para Gradle (AGP) normalmente seja atualizado com o Android Studio, o plug-in e o restante do sistema do Gradle podem ser executados e atualizados de forma independente.

Esta página explica como manter suas ferramentas do Gradle atualizadas e quais são as atualizações recentes. Para ver o que mudou, consulte as notas anteriores da versão do Plug-in do Android para Gradle.

Para conferir o que foi corrigido nessa versão do Plug-in do Android para Gradle, consulte os problemas fechados.

Para ler um resumo detalhado das próximas alterações interruptivas no Plug-in do Android para Gradle, consulte o cronograma do plug-in.

Para saber como configurar seus builds do Android com o Gradle, consulte estas páginas:

Para saber mais sobre o sistema de build do Gradle, consulte o Guia do usuário do Gradle (em inglês).

Atualizar o Plug-in do Android para Gradle

Ao atualizar o Android Studio, talvez seja solicitado que você atualize automaticamente o Plug-in do Android para Gradle para a versão mais recente disponível. Você pode aceitar a atualização ou especificar manualmente uma versão com base nos requisitos de build do seu projeto.

Você pode especificar a versão do plug-in no menu File > Project Structure > Project no Android Studio ou no arquivo build.gradle.kts do nível superior. A versão do plug-in se aplica a todos os módulos criados no projeto do Android Studio em questão. O exemplo abaixo define o plug-in para a versão 8.9.0 do arquivo build.gradle.kts:

Kotlin

plugins {
    id("com.android.application") version "8.9.0" apply false
    id("com.android.library") version "8.9.0" apply false
    id("org.jetbrains.kotlin.android") version "2.1.10" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.9.0' apply false
    id 'com.android.library' version '8.9.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.1.10' apply false
}

Cuidado:não use dependências dinâmicas em números de versão, como 'com.android.tools.build:gradle:8.9.+'. O uso desse recurso pode resultar em atualizações inesperadas e dificuldades para resolver diferenças de versão.

Se a versão especificada do plug-in não tiver sido transferida por download, o Gradle vai fazer o download da próxima vez que você criar o projeto ou clicar em File > Sync Project with Gradle Files na barra de menus do Android Studio.

Atualizar o Gradle

Ao atualizar o Android Studio, você pode receber uma solicitação para também atualizar o Gradle para a versão mais recente disponível. Você pode aceitar a atualização ou especificar manualmente uma versão com base nos requisitos de build do projeto.

A tabela a seguir lista qual versão do Gradle é necessária para cada versão do Plug-in do Android para Gradle. Para ter a melhor performance, use a versão mais recente possível do Gradle e do plug-in.

Versão do plug-inVersão mínima necessária do Gradle
8,98.11.1
8.88.10.2
8,78,9
8,68,7
8,58,7
8.48,6
8.38.4
8.28.2
8.18.0
8.08.0
7.47.5

Versões anteriores

Versão do plug-inVersão necessária do Gradle
7.37.4
7.27.3.3
7.17.2
77
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

Você pode especificar a versão do Gradle no menu File > Project Structure > Project no Android Studio ou atualizar sua versão do Gradle usando a linha de comando. A maneira recomendada é usar a ferramenta de linha de comando Gradle Wrapper (link em inglês), que atualiza os scripts gradlew. O exemplo abaixo define a versão do Gradle como 8.9 usando o Gradle Wrapper. Execute esse comando duas vezes para fazer upgrade do Gradle e do próprio Gradle Wrapper. Para saber mais, consulte Como fazer upgrade do Gradle Wrapper (em inglês).

gradle wrapper --gradle-version 8.9

No entanto, esse processo pode falhar em alguns casos. Por exemplo, se você acabou de atualizar o Plug-in do Android para Gradle (AGP, na sigla em inglês) e ele não é mais compatível com a versão atual do Gradle. Nesse caso, é necessário editar a referência de distribuição do Gradle no arquivo gradle/wrapper/gradle-wrapper.properties. O exemplo abaixo define a versão do Gradle como 8.9 no arquivo gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.9-bin.zip
...

Plug-in do Android para Gradle e compatibilidade com o Android Studio

O sistema de build do Android Studio é baseado no Gradle, e o Plug-in do Android para Gradle (AGP, na sigla em inglês) adiciona vários recursos específicos para a criação de apps Android. A tabela abaixo lista qual versão do AGP é necessária para cada versão do Android Studio.

Versão do Android Studio Versão necessária do AGP
Meerkat | 2024.3.1 3.2-8.9
Atualização de recursos Ladybug | 2024.2.2 3.2-8.8
Ladybug | 2024.2.1 3.2-8.7
Atualização de recursos do Koala | 2024.1.2 3.2-8.6
Koala | 2024.1.1 3.2-8.5
Jellyfish | 2023.3.1 3.2-8.4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0

Versões anteriores

Versão do Android Studio Versão necessária do AGP
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Para mais informações sobre as novidades do Plug-in do Android para Gradle, acesse as notas da versão.

Versões mínimas de ferramentas para um nível da API do Android

Há versões mínimas do Android Studio e do AGP que oferecem suporte a um nível específico da API. O uso de versões do Android Studio ou do AGP que são anteriores às exigidas pelo targetSdk ou compileSdk do projeto pode levar a problemas inesperados. Recomendamos usar as versões de pré-lançamento mais recentes do Android Studio e do AGP para trabalhar em projetos voltados para versões de pré-lançamento do SO Android. Além da versão estável, você também pode instalar versões de pré-lançamento do Android Studio.

As versões mínimas do Android Studio e do AGP são as seguintes:

Nível da API Versão mínima do Android Studio Versão mínima do AGP
Prévia do Baklava Meerkat | 2024.3.1 8.9.0
35 Atualização de recursos do Koala | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

Mudanças do controle de versões (novembro de 2020)

Estamos atualizando o número da versão do Plug-in do Android para Gradle (AGP, na sigla em inglês) para melhorar a integração com a ferramenta de build do Gradle.

Confira as principais mudanças:

  • O AGP agora usa um controle de versões semântico, e as alterações interruptivas são direcionadas para versões principais.

  • Haverá uma versão principal do AGP lançada por ano, alinhada à versão principal do Gradle.

  • Após o AGP 4.2, virá a versão 7.0, que exige um upgrade para o Gradle versão 7.x. Cada vez que uma versão do AGP com mudanças significativas é liberada, um upgrade de versão significativo na ferramenta Gradle se faz necessário.

  • O uso das APIs vai ser descontinuado com aproximadamente um ano de antecedência, e os novos recursos serão lançados nesse mesmo tempo. As APIs descontinuadas vão ser removidas cerca de um ano depois, quando houver uma atualização de larga escala.

Compatibilidade

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

Versão mínima Versão padrão Observações
Gradle 8.11.1 8.11.1 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.9.0

Problemas corrigidos
Plug-in do Android para Gradle
Fornecer uma mensagem de erro útil quando a tarefa de configuração do GMD falhar devido a espaço insuficiente no disco
O plug-in com.android.settings não reconhece o targetSdk.
O erro "compileSdkVersion" não foi especificado. Adicione ao build.gradle"
"Build limpo" ausente no menu "Build"
Talvez o suporte integrado do AGP ao Kotlin possa adicionar automaticamente a dependência do stdlib do Kotlin.
Atualizou o método shouldConfigureKotlinPlatformAttribute para processar o suporte integrado ao Kotlin.
Forneça a sintaxe do kotlin gradle na mensagem de erro para "checkTestedAppObfuscationRelease".
Erro de biblioteca mesclada quando a dependência não resolvida pode ser melhorada
As propriedades do sistema de gradle.properties não são transmitidas para os workers do Gradle do R8 em processos separados
Fazer BuiltArtifact.outputFile como tipo de arquivo
Não fornecer o namespace na biblioteca mesclada não gera uma mensagem de erro adequada.
As opções de lint no AGP 7.1.0-alpha08 não permitem stdout.
Plug-in do Android para Gradle: as variantes precisam expor os nomes dos conjuntos de origem
O cache de configuração é frágil para a configuração da variável de ambiente TERM
O AndroidComponentsExtension.addSourceSetConfigurations é corrompido quando as estatísticas são ativadas.
Script de inicialização 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle', linha: 162
O AndroidComponentsExtension.addSourceSetConfigurations é corrompido quando as estatísticas são ativadas.
Dexer (D8)
java.lang.VerifyError: classe do verificador recusada: [0x430] copy1 v2<-v264 type=Undefined cat=3
Lint
O lint falha com as verificações do gradle
O lint falha com InstantiationException sem uma mensagem de exceção no stacktrace do lint.
A verificação de lint falsamente positiva android.permission.SCHEDULE_EXACT_ALARM só é concedida a apps do sistema.
A verificação StringFormatInvalid precisa ser aplicada ao método stringResource do Compose.
A anotação "RequiresFeature" não funciona para arquivos Kotlin.
kotlin android.os.Handler removeCallbacks Runnable
O lint WrongConstant na definição em vez do uso de constantes usando shift
O lint WrongConstant aparece duas vezes.
Exceção de execução abaixo da API 26 com API Java nio sem suporte (sem erro de lint)
O lint impede o uso de RequiresApi mesmo em um método auxiliar particular em teste.
O modo K2 gera um aviso RestrictedApi ao usar .hasRoute(Route::class) no Android Studio
O lint sugere substituir @RequiresExtension no teste por @SdkSuppress, que não oferece suporte a extensões do SDK.
O lint informa incorretamente um layout aninhado desnecessário quando um FrameLayout é usado com fitSystemWindows para agrupar um RelativeLayout filho que exige padding personalizado.
A regra de lint CoarseFineLocation não considera um atributo maxSdkVersion.
O AppLinkSplitToWebAndCustom é um problema desconhecido no lint 8.7.3.
Verificação de lint StringEscapeDetector falha em "\\ "
Aviso de lint incorreto para a anotação "@Parcelize" em interfaces seladas.
O AS 2024.3.1.4 trava intermitentemente ao editar textos Kotlin.
Integração com o Lint
O lintVitalRelease não é executado automaticamente ao criar o pacote de apps.
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 é minimizado com o R8 incluído no AGP 8.10.0-alpha04.