Lo genera una vez, y nuevamente cuando desea cambiar la versión de Gradle que usa en el proyecto. No hay necesidad de generar es tan a menudo. Aquí están los documentos. Simplemente agregue wrapper
tarea abuild.gradle
archivo y ejecute esta tarea para obtener la estructura del contenedor.
Tenga en cuenta que necesita tener instalado Gradle para generar un contenedor. ¡La gran herramienta para gestionar los artefactos del ecosistema g es SDKMAN! . Para generar una envoltura de gradle, agregue el siguiente código al build.gradle
archivo:
task wrapper(type: Wrapper) {
gradleVersion = '2.0' //version required
}
y correr:
gradle wrapper
tarea. Agregue los archivos resultantes a SCM (por ejemplo, git) y a partir de ahora todos los desarrolladores tendrán la misma versión de Gradle cuando usen Gradle Wrapper.
Con Gradle 2.4 (o superior) puede configurar un contenedor sin agregar una tarea dedicada:
gradle wrapper --gradle-version 2.3
o
gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip
Todos los detalles se pueden encontrar aquí.
También se 3.1
--distribution-type
puede usar la opción de Gradle . Las opciones son binarias y todas y bin . todo además contiene código fuente y documentación. todo también es mejor cuando se usa IDE, por lo que el editor funciona mejor. El inconveniente es que la compilación puede durar más (necesita descargar más datos, no tiene sentido en el servidor CI) y tomará más espacio.
Estos son archivos de Gradle Wrapper. Debe generarlos una vez (para una versión en particular) y agregarlos al control de versiones. Si necesita cambiar la versión de Gradle Wrapper, cambie la versión en build.gradle
ver (1.) y vuelva a generar los archivos.
Da un ejemplo detallado. Dicho archivo puede tener múltiples propósitos: proyecto de varios módulos, separación de responsabilidades, secuencia de comandos ligeramente modificada, etc.
settings.gradle
es responsable más bien de la estructura del proyecto (módulos, nombres, etc.), mientras que gradle.properties
se usa para los detalles externos del proyecto y de Gradle (versión, argumentos de la línea de comandos -XX
, propiedades, etc.)
build.gradle
script en varios más cortos y se dedicaron a un script de propósito particular. Como puede, la secuencia de comandos ubicada en el directorio gradle se aplica albuild.gradle
archivo principal , vea: github.com/Netflix/eureka/blob/master/build.gradle . Donde pones dichos módulos es de tu elección. Eso es todo en general. Si está satisfecho con la respuesta, acepte la respuesta :)--distribution-type
, por ejemplo,gradle wrapper --gradle-version 4.3.1 --distribution-type ALL
Generando el Gradle Wrapper
Proyecto construir gradle
Luego en la línea de comando ejecutar
Si le falta gradle en su sistema, instálelo o lo anterior no funcionará. En una Mac, es mejor instalar a través de Homebrew.
Después de haber ejecutado con éxito la tarea de envoltura y generada
gradlew
, no use su sistema gradle. Le ahorrará muchos dolores de cabeza.¿Qué pasa con el complemento Gradle visto anteriormente?
Debe configurar la versión como la más reciente y puede consultar la página de herramientas y editar la versión en consecuencia.
Mira lo que genera Android Studio
La incorporación de Gradle y el más reciente Android Studio han cambiado drásticamente el diseño del proyecto. Si tiene un proyecto anterior, le recomiendo que cree uno limpio con el último Android Studio y vea lo que Google considera el proyecto estándar.
Android Studio tiene facilidades para importar proyectos antiguos que también pueden ayudar.
fuente
gradleVersion = '2.2'
entaskWrapper
puede utilizar cualquier versión que deseo para la generación de la envoltura, correcto? ¿No tiene que ser la última versión de gradle?A partir de Gradle 2.4, puede usar
gradle wrapper --gradle-version X.X
para configurar una versión específica del contenedor Gradle, sin agregar ninguna tarea a subuild.gradle
archivo. La próxima vez que use el contenedor, descargará la distribución de Gradle adecuada para que coincida.fuente
Si desea descargar gradle con fuente y documentos, la url de distribución predeterminada configurada en gradle-wrapper.properites no satisfará su necesidad. Es https://services.gradle.org/distributions/gradle-2.10-bin.zip , no https://services.gradle.org/distributions/gradle-2.10-all.zip . Esta IDL completa es sugerida por IDE como Android Studio. Si desea descargar el gradle completo, puede configurar la tarea de envoltura de esta manera :
fuente
Este es el comando que se debe usar para indicarle a Gradle que actualice el contenedor de modo que tome las versiones de distribución de las bibliotecas que incluyen el código fuente:
Si especifica el tipo de distribución con "todos", se asegurará de que Gradle descargue los archivos fuente para que los utilice su entorno de desarrollo.
Pros :
Contras :
Comente o proporcione otra respuesta si conoce alguna opción de línea de comandos para decirle a Gradle que no descargue fuentes en un servidor de compilación.
fuente
Los generará una vez, pero los actualizará si necesita una nueva característica o algo de un complemento que a su vez necesita una versión de Gradle más nueva.
La forma más fácil de actualizar: a partir de Gradle 2.2, puede descargar y extraer la distribución completa o binaria de Gradle y ejecutar:
No es necesario definir una tarea, aunque probablemente necesite algún tipo de
build.gradle
archivo.Esto actualizará o creará
gradlew
y elgradlew.bat
contenedor, así comogradle/wrapper/gradle-wrapper.properties
ygradle-wrapper.jar
para proporcionar la versión actual de gradle, empaquetado.Esos son todos parte de la envoltura.
Algunos
build.gradle
archivos hacen referencia a otros archivos o archivos en subdirectorios que son subproyectos o módulos. Se vuelve un poco complicado, pero si tiene un proyecto, básicamente necesita el único archivo.settings.gradle
maneja proyectos, módulos y otros tipos de nombres y configuraciones,gradle.properties
configura variables reutilizables para sus archivos gradle si lo desea y siente que serían más claros de esa manera.fuente
Como las tareas integradas de Gradle están en desuso en 4.8, intente a continuación
y correr
fuente