Buscar

Automatização de Builds com Gradle em Aplicativos Móveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Gradle é um sistema de automação de compilação de código aberto que se baseia nos conceitos de Apache Ant e Apache Maven e introduz uma linguagem de domínio específico (DSL) baseada em Groovy em vez do XML usado pelo Apache Maven para declarar a configuração do projeto. Gradle usa um grafo acíclico dirigido ("DAG") para determinar a ordem em que as tarefas possam ser executadas. Gradle foi projetado para multi-projetos que podem ter alto crescimento, e suporta compilações incrementais quando inteligentemente determina quais partes da árvore estão atualizadas, de modo que qualquer tarefa dependente dessas partes não precisa ser reexecutada. Os plugins iniciais são focados principalmente em torno do desenvolvimento e implantação de Java,[3] Groovy e Scala, porém mais linguagens e fluxos de projeto são pretendidos.
O conceito fundamental de um build significa que as tarefas de compilação, empacotamento e testes (sejam unitários ou de interface), as coletas de métricas, validações de código e a verificação de dependências, como também a geração de relatórios e documentação são realizadas como um processo, que poderia ser melhorado se fosse realizado de forma automática. Isto torna a tarefa de desenvolvimento mais ágil e com menor índice de erro. Como é possível fazer a automatização de builds em aplicativos móveis? Na prática de Integração Contínua (CI), os desenvolvedores devem integrar o código em repositório, para compartilhamento constante. É o processo de executar os testes em uma máquina que não seja a do desenvolvedor, automaticamente, quando é enviado um novo código para o repositório de origem. Na figura a seguir é mostrada a Integração Contínua no sistema operacional Android. Utilizar ferramentas de automatização para desenvolver aplicativos mais eficientes por meio das ferramentas Gradle e Jenkins.O sistema de criação do Android Studio é baseado no Gradle, e o plug-in do Android para o Gradle adiciona vários recursos específicos para a criação de aplicativos para Android. Embora o plug-in do Android seja normalmente atualizado na etapa de bloqueio com o Android Studio, o plug-in (e o restante do sistema Gradle) pode ser executado independentemente do Android Studio e ser atualizado separadamente.
O Gradle é disponibilizado pelo sistema operacional Android. Ele tem a função de automatizar o processamento de build de forma avançada. Ele une a flexibilidade do Ant e executa o processamento de dependências do Maven. O Android ANT SDK permite que os desenvolvedores conectem aplicativos Android a dispositivos ANT.Ele é fornecido para permitir que você se conecte a dispositivos proprietários e construa topologias complexas utilizando recursos ANT avançados, como a varredura em segundo plano e aplicativos de telefone celular. Portanto, permite que os aplicativos se estendam a todos os fornecedores de smartphones sem fragmentação nas versões do Android. O Plug-in do Android Maven é usado para criar aplicativos para o sistema operacional Android, podendo criar bibliotecas para serem usadas no formato legado APKLIB usando o Apache Maven.
Enquanto os formatos de construção do Maven utilizam arquivos XML para a configuração do build, os arquivos de build do Gradle são escritos na linguagem Groovy. O fato de serem baseados em script, os arquivos do Gradle permitem que nos arquivos de configuração sejam desenvolvidas tarefas de programação. Além disto, o Gradle tem um sistema de plug-ins que fazem a adição de novas funcionalidades.

Continue navegando