A DSL do Kotlin é o padrão para a configuração do build
Os novos projetos agora usam a DSL do Kotlin (build.gradle.kts) por padrão para a configuração
do 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 a configuração
do build, use o Gradle 8.1 para ter a melhor experiência. Para saber mais,
consulte o guia de migração da DSL do Kotlin.
Suporte automático ao idioma por app
No Android Studio Giraffe Canary 7 e no AGP 8.1.0-alpha07, é possível
configurar o app para oferecer suporte à 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
o Groovy):
O Android Lint contém bytecode voltado para a 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 do 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 da biblioteca nativa usando o DSL em vez do manifesto. As
orientações a seguir explicam como atualizar a configuração para usar o 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 essa opção 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
com perfil ou depurável. Essa flag fica desativada por padrão para incentivar os autores de build a
declarar configurações de assinatura de perfil específicas.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Essa flag permite que os builders de biblioteca ativem a simplificação da biblioteca principal para
testar APKs sem afetar o AAR produzido, por exemplo, com a linting.
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 mostrar um stacktrace em caso de falha. Essa flag
tem os mesmos recursos da variável de ambiente
LINT_PRINT_STACKTRACE.
Especifica o número máximo de dispositivos gerenciados pelo Gradle
(AVDs) simultâneos que podem ser ativados 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.