¿Qué es Gradle en Android Studio?

Resuelto androidcodehunter asked hace 11 años • 24 respuestas

Gradle es un poco confuso para mí y también para cualquier desarrollador nuevo de Android. ¿Alguien puede explicar qué es Gradle en Android Studio y cuál es su propósito? ¿Por qué está incluido en Android Studio?

androidcodehunter avatar May 26 '13 05:05 androidcodehunter
Aceptado

Respuesta corta

Gradle es un sistema de construcción.

Respuesta larga

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

Puede hacer esto en la línea de comando, pero debe aprender qué hace cada herramienta ( dx y AAPT ) en el SDK. Eclipse nos salvó a todos de estos detalles fundamentales de bajo nivel, pero importantes, al brindarnos su propio sistema de compilación.

Ahora bien, ¿alguna vez te has preguntado por qué la rescarpeta está en el mismo directorio que tu srccarpeta?

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

Este sistema de compilación utiliza algunas convenciones: un ejemplo de una es especificar el directorio que contiene los archivos fuente (en Eclipse es una \srccarpeta) o los archivos de recursos (en Eclipse es \resuna carpeta).

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

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

Lo interesante de 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 crear algún paquete (salida como un archivo JAR para Java) a partir de fuentes, entonces puede escribir un complemento completo en Java o Groovy (o Kotlin , consulte aquí ). 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 una curva de aprendizaje mínima o nula y sin aprender Groovy ni ningún otro idioma nuevo. Entonces escribieron el complemento de Android para Gradle.

Debes haber visto los archivos build.gradleo en tu proyecto. build.gradle.ktsAhí es donde puedes escribir scripts para automatizar tus tareas. El código que vio en estos archivos es código Groovy o Kotlin. Si escribe, System.out.println("Hello Gradle!");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.

Gagandeep Singh avatar Jul 18 '2014 15:07 Gagandeep Singh

Es la nueva herramienta de compilación que Google quiere utilizar para Android. Se utiliza porque es más extensible y útil que Ant . Está destinado a mejorar la experiencia del desarrollador.

Puede ver una charla de Xavier Ducrohet del equipo de desarrolladores de Android en Google I/O aquí.

También hay otra charla sobre Android Studio a cargo de Xavier y Tor Norbye, también durante Google I/O aquí .

daniel_c05 avatar May 26 '2013 03:05 daniel_c05