Pregunta ¿Qué es Gradle en Android Studio?


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


1031
2018-05-25 22:53


origen


Respuestas:


Respuesta corta

Gradle es un sistema de compilación.

Respuesta larga

Antes de Android Studio usabas Eclipse para tus propósitos de desarrollo, y es posible que no supieras cómo crear tu APK de Android sin Eclipse.

Puede hacer esto en la línea de comando, pero debe conocer qué hace cada herramienta (dx, aapt) en el SDK. Eclipse nos salvó a todos de estos detalles básicos de bajo nivel pero importantes al darnos su propio sistema de compilación.

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

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

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

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

Gradle es otro sistema de construcció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 propia secuencia de comandos en Java, que utiliza Android Studio.

Una de las cosas buenas de Gradle es que es sistema basado en plugin. Esto significa que si tiene su propio lenguaje de programación y desea automatizar la tarea de compilar un paquete (salida como un JAR para Java) desde las fuentes, entonces puede escribir un complemento completo en Java o Groovy (o Kotlin, ver 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 guiones 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.

Debes haber visto build.gradle archivo (s) en su proyecto. Ahí es donde puedes escribir guiones para automatizar tus tareas. El código que vio en estos archivos es código Groovy. Si tú escribes System.out.println("Hello Gradle!"); luego se imprimirá en tu 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.


1246
2017-07-18 15:27



Es la nueva herramienta de compilación que Google quiere usar para Android. Se está utilizando debido a que es más extensible y útil que la hormiga. 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 por Xavier y Tor Norbye, también durante Google I / O aquí.


137
2018-05-26 03:48



1 - Gradle Información de fondo.

2 - Gradle conceptos.

3 - La Fase de Inicialización.

4 - La Fase de Inicialización (Cont.).

5 - ¿Qué es Gradle ?.

6 - La Fase de Configuración.

Gradle

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Mira esto ENLAZAR


65
2018-03-11 08:43



Gradle es un sistema de construcción ejecutándose Estudio Android.

En otros idiomas, por ejemplo:


34
2017-08-21 02:25



Aquí hay una explicación detallada sobre lo que es Gradle y cómo usarlo en el estudio Android.

Explorando los archivos de Gradle

  1. Cada vez que creas un proyecto en Android Studio, el sistema de compilación genera automáticamente todos los archivos de compilación de Gradle necesarios.

Gradle Build Files

  1. Los archivos de compilación de Gradle usan un Domain Specific Language or DSL definir lógica de compilación personalizada e interactuar con el específico de Android elementos del complemento de Android para Gradle.

  2. Los proyectos de Android Studio constan de 1 o más módulos, que son componentes que puedes construir, probar y depurar de forma independiente. Cada módulo tiene su propio archivo de compilación, por lo que cada proyecto de Android Studio contiene 2 tipos de archivos de compilación de Gradle.

  3. Archivo de compilación de nivel superior: Aquí es donde encontrará las opciones de configuración que son comunes a todos los módulos que hacen tu proyecto

  4. Archivo de compilación a nivel de módulo: Cada módulo tiene su propio archivo de compilación de Gradle que contiene configuraciones de compilación específicas del módulo. Gastarás más de su tiempo editando archivo (s) de compilación a nivel de módulo en lugar de su archivo de compilación de nivel superior del proyecto.

Para echar un vistazo a estos archivos build.gradle, abra el panel Proyecto de Android Studio (seleccionando la pestaña Proyecto) y expanda la carpeta Gradle Scripts. Los dos primeros elementos de la carpeta Gradle Scripts son los archivos de compilación de Gradle a nivel de proyecto y de nivel de módulo

Archivo de compilación Gradle de nivel superior

Todos los proyectos de Android Studio contienen un único archivo de compilación Gradle de nivel superior. Esta build.gradle archivo es el primer elemento que aparece en la carpeta Gradle Scripts y está claramente marcado Proyecto.

La mayoría de las veces, no necesitará realizar ningún cambio en este archivo, pero   sigue siendo útil para comprender sus contenidos y el papel que desempeña   dentro de tu proyecto

Archivos de compilación Gradle a nivel de módulo

Además del archivo de construcción de Gradle a nivel de proyecto, cada módulo tiene un archivo de construcción de Gradle propio. A continuación se muestra una versión comentada de un archivo básico de compilación de Gradle a nivel de módulo.

Otros archivos Gradle

Además de los archivos build.gradle, su carpeta Gradle Scripts contiene algunos otros archivos Gradle. La mayoría de las veces no tendrá que editar manualmente estos archivos, ya que se actualizarán automáticamente cuando realice cambios relevantes en su proyecto. Sin embargo, es una buena idea entender la función que desempeñan estos archivos dentro de su proyecto.

gradle-wrapper.properties (Versión Gradle)

Este archivo permite a otras personas construir su código, incluso si no tienen instalado Gradle en su máquina. Este archivo verifica si la versión correcta de Gradle está instalada y descarga la versión necesaria si es necesario.

settings.gradle

Este archivo hace referencia a todos los módulos que componen su proyecto.

gradle.properties (Propiedades del proyecto)

Este archivo contiene información de configuración para todo su proyecto.   Está vacío por defecto, pero puede aplicar una amplia gama de propiedades a   su proyecto al agregarlos a este archivo.

local.properties (Ubicación del SDK)

Este archivo le dice al complemento Android Gradle dónde puede encontrar su instalación de Android SDK.

Nota:  local.properties contiene información que es específica para la instalación local del SDK de Android. Esto significa que no debe mantener este archivo bajo control de fuente.

Lectura sugerida - Tutsplus Tutorial 

Obtuve una comprensión clara de Gradle de esto.


28
2017-12-12 08:04



Gradle es un tipo de herramienta de construcción que construye el código fuente del programa. Por lo tanto, es una parte importante de Android Studio y debe instalarse antes de comenzar a desarrollar su aplicación.

No tenemos que instalarlo por separado, porque Android Studio lo hace por nosotros, cuando hacemos nuestro primer proyecto.


24
2018-01-19 09:14



DEFINICIÓN::  Gradle se puede describir como un mecanismo de construcción estructurado en el que proporciona al desarrollador las herramientas y la flexibilidad para administrar los recursos de un proyecto para crear construcciones que son smaller in size, targeting specific requirements para ciertos dispositivos de ciertas configuraciones 


CONFIGURACIONES BÁSICAS 

  1. minimumSdk 
  2. maximumSdk 
  3. targettedSdk 
  4. versionCode 
  5. versionName

BIBLIOTECAS :: Podemos agregar bibliotecas de Android o cualquier otra biblioteca de terceros, además, según los requisitos, lo cual fue una tarea tediosa antes. Si la biblioteca no se ajusta al proyecto existente, se muestra un registro al desarrollador en el que la persona puede encontrar una solución adecuada para realizar cambios en el proyecto, de modo que se pueda agregar la biblioteca. Es solo una línea de dependencia 


GENERACIÓN DE VARIEDADES DE CONSTRUIDOS

Combinación de tipos de construcción con sabores de compilación para obtener varidades de varients de compilación 

 ====================                         ====================
|     BuildTypes     |                       |   ProductFlavours  |
 --------------------  ====================== --------------------
|  Debug,Production  |      ||       ||      | Paid,Free,Demo,Mock|
 ====================       ||       ||       ==================== 
                            ||       ||
                            VV       VV
 =================================================================
|           DebugPaid, DebugFree, DebugDemo, DebugMock            |
|  ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
 =================================================================

REDUCCIÓN DE TAMAÑO

Gradle ayuda a reducir el tamaño de la compilación generada eliminando los recursos no utilizados y los elementos no utilizados de las bibliotecas integradas


GESTIÓN DE PERMISOS 

Podemos especificar ciertos permisos para ciertas compilaciones agregando ciertos permisos en ciertos escenarios según los requisitos


CONSTRUYE PARA CIERTOS DISPOSITIVOS

Podemos administrar la construcción de generación para ciertos dispositivos que incluyen ciertas densidades y ciertos niveles de API. Esto ayuda en las implementaciones de productos en la tienda de aplicaciones según los requisitos en varios tipos de dispositivos


BUENA REFERENCIA

Tutoriales de Vogella


20
2017-11-26 17:21



Puede encontrar todo lo que necesita saber sobre Gradle aquí: Gradle Plugin Guía del usuario

Objetivos del nuevo sistema de compilación

Los objetivos del nuevo sistema de compilación son:

  • Facilita la reutilización de código y recursos
  • Facilite la creación de varias variantes de una aplicación, ya sea para la distribución multi-apk o para diferentes sabores de una aplicación
  • Facilita la configuración, ampliación y personalización del proceso de compilación
  • Buena integración IDE

Por qué Gradle?

Gradle es un sistema de compilación avanzado, así como una construcción avanzada   toolkit que permite crear lógica de compilación personalizada a través de complementos.

Estas son algunas de sus características que nos hicieron elegir Gradle:

  • Dominio Lenguaje Específico (DSL) para describir y manipular la lógica de compilación
  • Los archivos de compilación están basados ​​en Groovy y permiten la mezcla de elementos declarativos a través del DSL y el uso de código para manipular los elementos DSL.   para proporcionar una lógica personalizada.
  • Administración de dependencias incorporada a través de Maven y / o Ivy.
  • Muy flexible. Permite usar las mejores prácticas pero no impone su propia forma de hacer las cosas.
  • Los complementos pueden exponer su propio DSL y su propia API para que los utilicen los archivos de compilación.
  • Good Tooling API que permite la integración de IDE

19
2018-01-21 04:50