Plug-in do Android para Gradle 3.2.0 (setembro de 2018)
Esta versão do plug-in do Android requer o seguinte:
Versão mínima | Versão padrão | Observações | |
---|---|---|---|
Gradle | 4.6 | 4.6 | Para saber mais, consulte Como atualizar o Gradle. |
Ferramentas de build do SDK | 28.0.3 | 28.0.3 | Instale ou configure as Ferramentas de build do SDK. |
3.2.1 (outubro de 2018)
Com esta atualização, não será mais necessário especificar uma versão para o SDK Build Tools. O Plug-in do Android para Gradle agora usa a versão 28.0.3 por padrão.
Novos recursos
-
Suporte à criação de Android App Bundles: o pacote de apps é um novo formato de upload que inclui todo o código e recursos compilados do app e adia a geração e a assinatura do APK para a Google Play Store. Não é mais necessário criar, assinar e gerenciar vários APKs, e os usuários recebem downloads menores, otimizados para o dispositivo deles. Para saber mais, leia Sobre os Android App Bundles.
-
Suporte a velocidades aprimoradas de build incremental ao usar processadores de anotações: a DSL
AnnotationProcessorOptions
agora estende a interfaceCommandLineArgumentProvider
, que permite que você ou o autor do processador de anotações anote argumentos para o processador usando anotações de tipos de propriedade de build incremental (links em inglês). O uso dessas anotações melhora a exatidão e a performance de builds limpos incrementais e em cache. Para saber mais, leia Transmitir argumentos para os processadores de anotações. -
Ferramenta de migração para o AndroidX: ao usar o Plug-in do Android para Gradle 3.2.0 com o Android 3.2 e versões mais recentes, você pode migrar as dependências locais e do Maven do seu projeto para que usem as novas bibliotecas AndroidX, selecionando Refactor > Migrate to AndroidX na barra de menus. O uso dessa ferramenta de migração também configura as flags abaixo como
true
no seu arquivogradle.properties
:-
android.useAndroidX
: quando configurado comotrue
, o plug-in do Android usa a biblioteca AndroidX adequada, em vez de uma Biblioteca de Suporte. Quando essa flag não é especificada, o plug-in a configura comofalse
por padrão. -
android.enableJetifier
: quando configurado comotrue
, o plug-in do Android migra automaticamente as bibliotecas de terceiros já existentes para usar o AndroidX, reprogramando os binários delas. Quando essa flag não é especificada, o plug-in a configura comofalse
por padrão. Você pode configurar essa flag comotrue
apenas quandoandroid.useAndroidX
também estiver configurado comotrue
. Caso contrário, ocorre um erro de build.Para saber mais, leia a Visão geral do AndroidX.
-
-
Novo redutor de código, R8: o R8 é uma nova ferramenta de redução e ofuscação de código que substitui o ProGuard. Comece a usar a versão de pré-lançamento do R8 incluindo o seguinte no arquivo
gradle.properties
do seu projeto:android.enableR8 = true
android.enableR8 = true
Mudanças de comportamento
-
Agora, a simplificação de leitura com D8 é ativada por padrão.
-
O AAPT2 agora fica no repositório Maven do Google. Para usar o AAPT2, confira se você tem a dependência do
google()
no seu arquivobuild.gradle
, conforme mostrado abaixo:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Agora, o multidex nativo é ativado por padrão. As versões anteriores do Android Studio ativavam a multidex nativa ao implantar a versão de depuração de um app em um dispositivo com a API de nível 21 do Android ou mais recente. Agora, independente de você estar implantando em um dispositivo ou criando um APK para a versão, o Plug-in do Android para Gradle ativa o multidex nativo para todos os módulos configurados como
minSdkVersion=21
ou mais recente. -
O plug-in agora aplica uma versão mínima dos plug-ins protobuf (0.8.6), Kotlin (1.2.50) e Crashlytics (1.25.4).
-
O plug-in de módulo de recurso,
com.android.feature
, agora aplica o uso exclusivo de letras, dígitos e sublinhados ao especificar um nome de módulo. Por exemplo, se o nome do módulo de recursos incluir traços, haverá um erro de build. Esse comportamento corresponde ao do plug-in de recursos dinâmicos.
Correções de bugs
- O JavaCompile agora pode ser armazenado em cache em projetos com vinculação de dados (problema 69243050).
- Melhor evasão de compilação para módulos de biblioteca com vinculação de dados (problema 77539932).
- Agora, você pode reativar a configuração sob demanda (em inglês), caso a tenha desativado em versões anteriores devido a alguns erros de build imprevisíveis (problema 77910727).