A DSL do Kotlin é o padrão para configuração de build
Os novos projetos agora usam a DSL do Kotlin (build.gradle.kts) por padrão para configuração de build. Isso oferece uma experiência de edição melhor do que a DSL do Groovy
(build.gradle) com destaque de sintaxe, preenchimento de código e navegação para
declarações. Se você estiver usando o AGP 8.1 e a DSL do Kotlin para configuração de build, use o Gradle 8.1 para ter a melhor experiência. Para saber mais, consulte o guia de migração do Kotlin DSL.
Suporte automático ao idioma por app
A partir do Android Studio Giraffe Canary 7 e do AGP 8.1.0-alpha07, é possível
configurar seu app para oferecer suporte a seleção de idioma por app
automaticamente. Com base nos recursos
do projeto, o Plug-in do Android para Gradle gera o arquivo LocaleConfig
e adiciona uma referência a ele no arquivo de manifesto final. Assim, não é mais necessário
fazer isso manualmente. O AGP usa os recursos nas pastas res dos módulos do app
e qualquer dependência de módulos de biblioteca para determinar as localidades que serão incluídas no
arquivo LocaleConfig.
O recurso automático de idioma por app tem suporte de apps com o Android
13 (nível 33 da API) ou mais recente. Para usar o recurso, defina
compileSdkVersion como 33 ou maior. Para configurar a seleção de idioma por app
em versões anteriores do Android, ainda é necessário
usar as APIs e os seletores de idioma no app.
Para ativar o suporte automático ao idioma por app, especifique uma localidade padrão:
Na pasta res do módulo do app, crie um novo arquivo chamado
resources.properties.
No arquivo resources.properties, defina a localidade padrão com
o rótulo unqualifiedResLocale. Para formar os nomes de localidade, combine
o código do idioma com o script opcional e os códigos de região, separando cada um
com um traço:
Idioma: use o código ISO 639-1 de duas ou três letras.
Região (opcional): use o código
ISO 3166-1-alpha-2
de duas letras ou o código UN_M.49
de três dígitos.
Por exemplo, se a localidade padrão for inglês dos EUA:
unqualifiedResLocale=en-US
O AGP adiciona a localidade padrão e qualquer outra
localidade alternativa
que você tenha especificado (usando diretórios values-* na pasta res) ao
arquivo LocaleConfig gerado automaticamente.
O suporte automático ao idioma por app fica desativado por padrão. Para ativar o recurso,
use a configuração generateLocaleConfig no bloco androidResources {} do
arquivo build.gradle.kts do módulo (arquivo build.gradle se você estiver usando
Groovy):
O Android Lint contém bytecode direcionado à JVM 17
A partir do AGP 8.1.0-alpha04, o Android Lint contém bytecode voltado para a JVM
17. Se você escrever verificações de lint personalizadas, precisará compilar com o JDK 17 ou mais recente
e especificar jvmTarget = '17' nas opções do compilador Kotlin.
A configuração de compactação de biblioteca nativa foi movida para a DSL
A partir do AGP 8.1.0-alpha10, você vai receber um aviso se não configurar
a compactação de biblioteca nativa usando a DSL em vez do manifesto. As
orientações a seguir explicam como atualizar sua configuração para usar a DSL. Para
receber ajuda com essas atualizações, use o Assistente de upgrade do AGP
(Tools > AGP Upgrade Assistant).
Para usar bibliotecas nativas não compactadas, remova o atributo android::extractNativeLibs
do manifesto e adicione o seguinte código ao arquivo build.gradle.kts
do módulo (arquivo build.gradle se você estiver usando o Groovy):
Ativar isso sem especificar configurações de assinatura faz com que o AGP use a
configuração de assinatura de depuração padrão ao executar um build
depurável ou que possa ser analisado. Essa flag fica desativada por padrão para incentivar os autores de build a
declarar configurações de assinatura de criação de perfil específicas.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Essa flag permite que os criadores de bibliotecas ativem a remoção de açúcar sintático da biblioteca principal para
APKs de teste sem afetar a AAR produzida, por exemplo, usando lint.
Planejamos oferecer suporte a esse comportamento na API Variant.
Se ativado, os dispositivos gerenciados pelo Gradle permitem um tipo de dispositivo personalizado definido pelo usuário
que pode ser fornecido por um plug-in. Essa flag precisa estar ativada se você
quiser usar o plug-in do Firebase Test Lab.
android.lint.printStackTrace
AGP 8.0
false
Se ativado, o Android lint vai imprimir um rastreamento de pilha se ocorrer uma falha. Essa flag
tem as mesmas funcionalidades da variável de ambiente
LINT_PRINT_STACKTRACE.
Especifica o número máximo de dispositivos gerenciados pelo Gradle (AVDs) simultâneos que podem estar ativos a qualquer momento. Se o valor for 0 ou negativo, não haverá um número máximo de dispositivos.
Não é possível desativar a mensagem "Gradle files have changed since last project sync" (Arquivos do Gradle foram modificados desde a última sincronização do projeto).
Mensagem "We recommend using a newer Android Gradle plugin" (Recomendamos o uso de um Plug-in do Android para Gradle mais recente) quando não há uma versão mais recente
Bug: a opção "Enable KSP and use the KSP processor for this dependency instead" (Ativar KSP e usar o processador do KSP para essa dependência) leva a um site
[AGP 8.1.0] O teste ./gradlew falha com a mensagem "Unable to find manifest output" (Não foi possível encontrar a saída do manifesto) quando splits.abi.isEnable e testOptions.unitTests.isIncludeAndroidResources são verdadeiros.
[AGP 8.1.0] O teste ./gradlew falha com a mensagem "Unable to find manifest output" (Não foi possível encontrar a saída do manifesto) quando splits.abi.isEnable e testOptions.unitTests.isIncludeAndroidResources são verdadeiros.
Não executar a tarefa de dexação nas classes de subprojetos quando elas já tiverem sido dexados pelas transformações de artefato.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-08-08 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-08 UTC."],[],[]]