Plug-in do Android para Gradle 3.1.0 (março 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.4 | 4.4 | Para saber mais, consulte Como atualizar o Gradle. |
Ferramentas de build do SDK | 27.0.3 | 27.0.3 | Instale ou configure as Ferramentas de build do SDK. Não será mais necessário especificar uma versão para o Build Tools usando a propriedade android.buildToolsVersion. O plug-in usa a versão mínima necessária por padrão. |
Novo compilador DEX, D8
Por padrão, o Android Studio agora usa um novo compilador DEX denominado D8. A compilação
DEX é o processo de transformar bytecode .class
em
bytecode .dex
para o Android Runtime (ou Dalvik, para versões
mais antigas do Android). Em comparação com o compilador anterior, chamado DX, o D8
compila mais rapidamente e gera arquivos DEX menores, com performance igual ou
melhor em relação ao tempo de execução do app.
O fluxo de trabalho cotidiano de desenvolvimento de apps não vai mudar com o D8. No entanto, se você
tiver algum problema relacionado ao novo compilador,
informe um bug. Para desativar temporariamente
o D8 e usar o DX, inclua o seguinte no arquivo
gradle.properties
do seu projeto:
android.enableD8=false
Para projetos que
usam recursos da linguagem Java 8,
a simplificação de leitura incremental é ativada por padrão. Você pode desativá-la
especificando o seguinte no arquivo gradle.properties
do seu projeto:
android.enableIncrementalDesugaring=false.
Usuário da versão de pré-lançamento: se você já estiver usando uma versão de pré-lançamento do D8, observe que agora ele é compilado em bibliotecas incluídas no SDK Build Tools, não no JDK. Portanto, se você acessa APIs já existentes no JDK, mas não nas bibliotecas do SDK Build Tools, ocorre um erro de build.
Mudanças de comportamento
-
Ao criar vários APKs voltados, cada um, para uma ABI diferente, o plug-in não gera mais APKs para as seguintes ABIs por padrão:
mips
,mips64
earmeabi
.Se você quiser criar APKs voltados para essas ABIs, use o NDK r16b ou anterior e especifique as ABIs no arquivo
build.gradle
, como mostrado abaixo:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
O cache de build do plug-in do Android agora mostra entradas de cache com mais de 30 dias.
-
Transmitir
"auto"
pararesConfig
não seleciona mais recursos de string automaticamente para empacotar no seu APK. Se você continuar usando"auto"
, o plug-in vai empacotar todos os recursos de string que seu app e as dependências dele fornecerem. Portanto, é necessário especificar cada localidade a ser empacotada pelo plug-in no seu APK. -
Como os módulos locais não podem depender do APK de teste do app, adicionar dependências aos seus testes instrumentados usando a configuração
androidTestApi
, em vez deandroidTestImplementation
, faz com que o Gradle emita o seguinte aviso:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Correções
- Corrigido um problema em que o Android Studio não reconhecia dependências em builds compostos.
- Corrige um problema em que um erro de sincronização ocorria no projeto ao carregar o plug-in do Android várias vezes em um único build. Por exemplo, quando vários subprojetos incluíam o plug-in do Android no caminho de classe do buildscript.