Plug-in do Android para Gradle 2.2.0 (setembro de 2016)
- Dependências:
- Novidade:
- 
    - Usa o Gradle 2.14.1, que inclui melhorias de desempenho e novos recursos, além de corrigir uma vulnerabilidade de segurança que permite o escalonamento de privilégios locais ao usar o daemon do Gradle. Para ver mais detalhes, consulte as notas da versão do Gradle (em inglês).
- Com o uso da DSL 
      externalNativeBuild {}, o Gradle agora permite a vinculação a origens nativas e a compilação de bibliotecas nativas usando o CMake ou o ndk-build. Depois de criar suas bibliotecas nativas, o Gradle as empacota no seu APK. Para saber mais sobre como usar o CMake e o ndk-build com o Gradle, leia Adicionar código C e C++ ao seu projeto.
- Quando você executa um build na linha de comando, o Gradle agora tenta fazer o download automático de todos os componentes ou atualizações do SDK ausentes de que seu projeto depende. Para saber mais, leia Download automático de pacotes ausentes com o Gradle.
- Um novo recurso experimental de armazenamento em cache permite que o Gradle acelere o tempo de build ao fazer a pré-dexação, o armazenamento e a reutilização das versões pré-dexadas das bibliotecas. Para saber mais sobre como usar esse recurso experimental, leia o guia Cache de build.
- Melhora o desempenho do build adotando um novo pipeline
        de empacotamento padrão que cuida da compactação, assinatura e zipaligning em uma tarefa. Você
        pode voltar a usar as ferramentas de empacotamento anteriores adicionando
        android.useOldPackaging=trueao arquivogradle.properties. Ao usar a nova ferramenta de empacotamento, a tarefazipalignDebugnão ficará disponível. No entanto, você pode criar uma chamando o métodocreateZipAlignTask(String taskName, File inputFile, File outputFile).
- A assinatura do APK agora usa o Esquema de assinatura de APK
      v2, além da assinatura JAR tradicional. Todas as plataformas Android aceitam os
      APKs resultantes. Qualquer modificação nesses APKs, após a assinatura, invalida as
      assinaturas v2 e impede a instalação em dispositivos. Para desativar esse recurso,
      adicione o seguinte ao seu arquivo build.gradleno módulo:Groovyandroid { ... signingConfigs { config { ... v2SigningEnabled false } } } Kotlinandroid { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } } 
- Para builds multidex, agora você pode usar as regras do ProGuard para determinar quais
      classes o Gradle precisa compilar no arquivo DEX principal do app. Como
      o sistema Android carrega primeiro o arquivo DEX principal ao iniciar seu app, você
      pode priorizar determinadas classes na inicialização, compilando-as no arquivo
      DEX principal. Depois de criar um arquivo de configuração do ProGuard especificamente para seu
      arquivo DEX principal, transmita o caminho do arquivo de configuração para o Gradle usando
      buildTypes.multiDexKeepProguard. O uso dessa DSL é diferente do uso debuildTypes.proguardFiles(em inglês), que fornece regras gerais do ProGuard para o app e não especifica classes para o arquivo DEX principal.
- Foi adicionado suporte à flag android:extractNativeLibs, que pode reduzir o tamanho do app quando você o instala em um dispositivo. Quando você configura essa flag comofalseno elemento<application>do manifesto do app, o Gradle empacota as versões descompactadas e alinhadas das suas bibliotecas nativas com seu APK. Isso impede que oPackageManagercopie as bibliotecas nativas do APK para o sistema de arquivos do dispositivo durante a instalação, além de oferecer o benefício de diminuir as atualizações delta do seu app.
- Agora você pode especificar
      versionNameSuffixeapplicationIdSuffixpara variações de produto (problema 59614).
 
- Mudanças:
- 
  - 
    O getDefaultProguardFileagora retorna os arquivos do ProGuard padrão fornecidos pelo Plug-in do Android para Gradle e não usa mais os que estão no SDK do Android.
- Melhoria no desempenho e nos recursos do compilador Jack:- Agora, o Jack oferece suporte à cobertura de teste Jacoco quando
    testCoverageEnabledé configurado comotrue.
- O suporte a processadores de anotações foi melhorado. Os processadores de anotações no seu caminho de classe, como as dependências compile, são aplicados automaticamente à build. Você também pode especificar um processador de anotação no seu build e transmitir argumentos usando a DSLjavaCompileOptions.annotationProcessorOptions {}(em inglês) no arquivobuild.gradleno módulo:Groovyandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } } Kotlinandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } } Se você quiser aplicar um processador de anotações no tempo de compilação, sem o incluir no APK, use o escopo de dependência annotationProcessor:Groovydependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant } Kotlindependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant } 
- Por padrão, se o tamanho de heap do daemon Gradle for de pelo menos 1,5
GB, o Jack vai ser executado no mesmo processo que o Gradle. Para ajustar o
tamanho de heap do daemon, adicione o seguinte ao seu arquivo
gradle.properties:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M 
 Para ver uma lista de parâmetros que podem ser configurados, execute o seguinte na linha de comando: java -jar /build-tools/jack.jar --help-properties 
- Agora, o Jack oferece suporte à cobertura de teste Jacoco quando
    
 
- 
    O 
| Versão mínima | Versão padrão | Observações | |
|---|---|---|---|
| Gradle | 2.14.1 | 2.14.1 | Para saber mais, consulte Como atualizar o Gradle. | 
| Ferramentas de build do SDK | 23.0.2 | 23.0.2 | Instale ou configure as Ferramentas de build do SDK. | 
