¿Para qué se usa Gradle en Android Studio?

Gradle es una herramienta de compilación de Java.

Gradle es un sistema de automatización de compilación de código abierto que se basa en los conceptos de Apache Ant y Apache Maven e introduce un lenguaje específico de dominio (DSL) basado en Groovy en lugar del formulario XML utilizado por Apache Maven para declarar la configuración del proyecto.

Gradle se usa generalmente como sistema de compilación basado en groovy y java.

Explicación:

Antes de Android Studio, usabas Eclipse para tus propósitos de desarrollo y, lo más probable es que no supieras cómo construir tu APK de Android sin Eclipse.

Puede hacerlo en la línea de comando, pero debe aprender qué hace cada herramienta (dx, aapt) en el SDK. Eclipse nos salvó a todos de estos bajos pero importantes detalles fundamentales al darnos su propio sistema de compilación.

Ahora, ¿alguna vez te has preguntado por qué la carpeta res está en el mismo directorio que tu carpeta src ?

Aquí es donde el sistema de construcción entra en escena. El sistema de compilación toma automáticamente todos los archivos de origen ( .java o .xml ), luego aplica la herramienta adecuada (por ejemplo, toma archivos de clase java y los convierte en archivos dex ), y los agrupa a todos en un archivo comprimido, nuestro querido APK.

Este sistema de compilación utiliza algunas convenciones: un ejemplo es especificar el directorio que contiene los archivos de origen (en Eclipse es la carpeta \src ) o los archivos de recursos (en Eclipse es la carpeta \res ).

Ahora, para automatizar todas estas tareas, tiene que haber un script; Puede escribir su propio sistema de compilación utilizando scripts de shell en Linux o sintaxis de archivos por lotes en Windows. ¿Lo tengo?

Gradle es otro sistema de compilación que toma las mejores características de otros sistemas de compilación y las combina en una sola. Se mejora en función de sus deficiencias. Es un sistema de compilación basado en JVM , lo que eso significa es que puede escribir su propio script en Java, que Android Studio utiliza.

Una cosa interesante sobre gradle es que es un sistema basado en complementos . Esto significa que si tiene su propio lenguaje de programación y desea automatizar la tarea de construir algún paquete (salida como un JAR para Java) a partir de las fuentes, puede escribir un complemento completo en Java o Groovy y distribuirlo al resto del mundo.

¿Por qué lo usó Google?

Google vio uno de los sistemas de compilación más avanzados del mercado y se dio cuenta de que podía escribir sus propios scripts con poca o ninguna curva de aprendizaje, y sin aprender Groovy ni ningún otro idioma nuevo. Entonces escribieron el complemento de Android para Gradle.

Debe haber visto los archivos build.gradle en su proyecto. Ahí es donde puede escribir scripts para automatizar sus tareas. El código que vio en estos archivos es el código Groovy. Si escribe System.out.println("Hello Gradle!"); entonces se imprimirá en su consola.

¿Qué puedes hacer en un script de compilación?

Un ejemplo simple es que debe copiar algunos archivos de un directorio a otro antes de que ocurra el proceso de compilación real. Un script de compilación de Gradle puede hacer esto.