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

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.10.0 do arquivo build.gradle.kts:

Kotlin

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

Groovy

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

Cuidado:não use dependências dinâmicas em números de versão, como 'com.android.tools.build:gradle:8.10.+'. 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.10 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.10

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.10 no arquivo gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.10-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
Atualização de recursos do Meerkat | 2024.3.2 3.2-8.10
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
36,0 Meerkat | 2024.3.1 Patch 1 8.9.1
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.10 é 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.10.0

Problemas corrigidos
Plug-in do Android para Gradle
O AGP precisa declarar que oferece suporte à API 35 que está prestes a ser lançada
O AndroidComponentsExtension.addSourceSetConfigurations é corrompido quando as estatísticas são ativadas.
O projeto ':app' não consegue acessar 'Project.group' e 'Project.version' com a configuração de projeto isolada no AGP 8.8.0.
Script de inicialização 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle', linha: 162
Script de inicialização 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle', linha: 162
Não foi possível remover as seguintes bibliotecas, empacotando-as como estão.
Adição de suporte para transmissão de informações de "divisões isoladas" ao R8
O app falha com NoClassDefFoundError e ClassNotFoundException ao ser executado no Android Studio.
Plug-in do Android para Gradle: evite substituir Sync.getDestinationDir() em PackageRenderscriptTask e ProcessJavaResTask.
Usar recursos Java mesclados para testes de unidade
Projeto isolado: erro de serialização do DeclarativeSchemaModel
Dexer (D8)
Backporting de android.os.Build.VERSION_CODES_FULL incorreto para Baklava
A simplificação de AutoClosable não informa mais ExecutorService.close como compatível
Lint
Aviso de lint incorreto para a anotação "@Parcelize" em interfaces seladas.
O AS 2024.3.1.4 trava intermitentemente ao editar textos Kotlin.
Erro de lint falso positivo para CredentialManagerSignInWithGoogle.
ConcurrentModificationException na verificação de lint Aligned16KB
Lint: o AGP 8.10.0-alpha05 aciona muitos SyntheticAccessor falsos positivos.
Permitir a ativação da NewApi em origens de teste
Qual é o efeito de pressionar o botão "LintIdeFix" após a inspeção de código no Android Studio
Erro no texto da mensagem de aviso: "Unnecessary; `Build.VERSION.SDK_INT >= Build.VERSION_CODES.O` nunca é verdadeiro aqui (`SDK_INT` ≥ 26 e < 31)"
Redutor (R8)
Não é possível gerar um APK assinado após a atualização para o AGP 8.9.0.
A análise da propriedade "written-before-read" em sites de alocação encontra um erro ao gerar o arquivo de classe.
Problema relacionado ao SPI do Java no redutor R8 das versões 8.6.*. 8.7.*, 8.8.0
ClassCastException de um cast seguro na inicialização da classe
O recurso de redução de recursos no AGP 8.9 está causando a falta de recursos em módulos de recursos dinâmicos
Não é possível invocar com.android.tools.r8.internal.H5.x().