Cómo usar gradle zip en el sistema local sin descargar cuando se usa gradle-wrapper


88

Estoy tratando de construir un proyecto gradle con gradle-wrapper ( gradlew).

Cuando construyo con ./gradlew build, genera texto

Descargando http://services.gradle.org/distributions/gradle-1.11-bin.zip

Y ya he descargado gradle-1.11-bin.zip por separado y no quiero volver a descargarlo cuando lo construya.

Entonces, ¿dónde debo colocar gradle-1.11-bin.zip en mi proyecto o sistema para no tener que descargarlo nuevamente?

gradle / wrapper / gradle-wrapper.properties es el siguiente.

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip

Y he intentado copiar gradle-1.11-bin.zip en gradle / wrapper / dists que no resolvió el problema.

Respuestas:


111

De la documentación de gradle-wrapper , encontré en la sección 61.1. Configuración

Si no desea que se realice ninguna descarga cuando su proyecto se compile a través de gradlew, simplemente agregue el zip de distribución de Gradle a su control de versiones en la ubicación especificada por la configuración de su contenedor. Se admite una URL relativa: puede especificar un archivo de distribución relativo a la ubicación del archivo gradle-wrapper.properties.

Entonces, cambié la distributionUrl propiedad gradle-wrapper.propertiesa

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=gradle-1.11-bin.zip

Luego, hice una copia de gradle-1.11-bin.zipen gradle/wrapper/.

Luego, ./gradlew builddescargó una copia local de zip y compiló el proyecto.


9
Esto pasa por alto un punto principal del contenedor, que es que Gradle se descarga e instala automáticamente para todos los usuarios de la compilación. Si prefiere utilizar una instalación local, colóquela en su PATH e invoque en gradlelugar de gradlew.
Peter Niederwieser

1
@PeterNiederwieser Sí, tienes razón. He configurado PATH, pero quería probar el contenedor como se recomienda, pero no quería descargar gradle zip de nuevo. Además, soy nuevo en gradle.
TheKojuEffect

32
Esto es muy importante si necesita enviar software a alguien que no tiene acceso a Internet. Sí, eso es algo que realmente sucede; hay computadoras que no están conectadas a Internet.
Chris Jones

3
La verdad es que nunca puedo descargar gradle en ternimal, demasiado lento
Shaw

3
O en un día como hoy, cuando la red de la oficina es muy lenta, este es un buen truco para seguir avanzando. ... solo hay que recordar revertir una vez que las velocidades de la red vuelvan a ser normales. Supongo que también es un buen truco si has medido el ancho de banda.
reverendo

40

Modificar las propiedades de gradle / gradle-wrapper.properties

Ventanas:

distributionUrl=file\:/d:/gradle-2.2.1-all.zip

linux:

distributionUrl=file\:/tmp/gradle-2.2.1-all.zip

2
Por lo general, uso la versión de Windows de Android Studio, pero a veces abro mis proyectos en un sistema operativo Linux. ¿Es posible definir distributionUrlde tal manera que el paquete Gradle ZIP sea accesible en ambos sistemas operativos sin cambiar el distributionUrlvalor?
ir-tech

1
@ ir-tech, puede usar una ruta relativa, como file \: ///../lib/gradle-2.2.1-all.zip
AaA

// No use android 8, ya que seguirá descargando la distribución de grados, use la plataforma ionic cordova grado 7 agregue android@8.0.0 // Esto ejecutará la plataforma ionic cordova agregue android@~7.1.1 --save Luego ejecute abajo y esta vez debería tener éxito (funcionó para mí) ionic cordova build android
Anand_5050

15

Simplemente arrastre el archivo gradle descargado en la barra de direcciones de su navegador y luego copie la dirección de la barra de direcciones y cambie gradle / wrapper / gradle-wrapper.properties de la siguiente manera:

distributionUrl=ADDRESS THAT COPY FROM YOUR BROWSER

ejemplo:

distributionUrl=file:///E:/gradle/gradle-4.1-all.zip

o puede copiar el archivo gradle.zip a la carpeta contenedora y luego usar la ruta relativa:

distributionUrl=gradle.zip

No funciona. distributionUrl se corrige automáticamente en https \: //services.gradle.org/distributions/gradle-4.10.3-all.zip en ionic cordova build android
Anand_5050

8

Esto es lo que hice para evitar editar todo el contenedor de Gradle para proyectos actuales y futuros.

  • Ubique su gradle-wrapper.propertiesen la carpeta de su proyecto (por ejemplo ./gradle/wrapper/gradle-wrapper.properties)
  • abra el archivo con un editor de texto como Sublime Text para localizar la distributionUrllínea (p. ej.distributionUrl=http\://services.gradle.org/distributions/gradle-2.10-bin.zip

El archivo binario de Gradle necesario es gradle-2.10-bin.zip. Otra versión es gradle-2.10-all.zipque incluye todo, incluido el código fuente y la documentación.

Tenga en cuenta que cada proyecto se envía con diferentes versiones de distribuciones de Gradle y puede cambiar la versión a la que tiene ( gradle-x.xx-XXX.zip) que incluye el binario. (p. ej. gradle-2.11-bin.zip| gradle-2.11-all.zip).

Ejecute gradlew.baten Windows o gradleLinux para iniciar el contenedor para construir el proyecto.

Se iniciará la descarga del gradle-2.10-bin.zipal .gradle\wrapper\distsen su directorio (por ejemplo. C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-bin). Esta descarga ocurre solo una vez para cada versión de Gradle especificada.

Si ya descargó el archivo antes, puede finalizar la descarga usando Ctrl+C

Vaya a la ubicación de descarga de Gradle, C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-all\78v82fsf226usgvgh7q2ptcvifcopie su propia copia gradle-2.10-bin.zipen ese directorio y luego elimine el gradle-2.10-all.zip.parten ese directorio.

Eso es todo. Regrese al directorio de su proyecto para ejecutarlo gradlew.baty usará su copia local en lugar de descargar una nueva.


Checkout respuesta de @ wcc526, funciona bien y es más fácil de implementar.
Banee Ishaque K

4

Esta solución no funcionó para mí, pero ayúdame a hacerlo de la manera correcta, así que si quieres instalar gradle sin conexión, sigue estos pasos:

1- en su proyecto en el directorio gradle abra este archivo (gradle-wrapper.properties)

2- en la última línea encontrarás la versión de gradle, descarga esa versión o copia el archivo desde otra pc

distributionUrl=http\://services.gradle.org/distributions/gradle-3.3-bin.zip

El enlace de descarga será así: http://services.gradle.org/distributions/gradle-3.3-bin.zip

3- abra esta ubicación C: \ Users \ userName.gradle \ wrapper \ dists \ gradle-3.3-all y asegúrese de que solo haya una carpeta (el nombre no importa, es diferente en los dispositivos) si hay otras carpetas, elimine ellos y presione Gradle Sync en Android Studio que generará otra carpeta automática con un nombre aleatorio.

4- abre esa carpeta y asegúrate de que solo tenga los dos últimos archivos en la captura de pantalla.

5- mueve el archivo zip que descargaste a esa carpeta

6- presione sync gradle en android studio nuevamente, suponga que gradle funcionará bien.

ingrese la descripción de la imagen aquí


2

Encontré otra forma más fácil de hacer esto, simplemente inicié mi servidor XAMPP y luego hice una carpeta gradle dentro htdocs. Agregué el archivo comprimido gradle-4.4-all.zipdentro de esa carpeta. Cambié la URL de distribución a distributionUrl=http\://localhost/gradle/gradle-4.4-all.zip Reinicié Android y la sincronización se completó sin ningún problema.


0

Descargo a

C:\data\Setup\Development\Gradle 2.11\gradle-2.11-all.zip

dentro de Eclipse, declaro: ingrese la descripción de la imagen aquí


Luego creo un nuevo proyecto de Gradle (con envoltorio) muy rápido, sin necesidad de descargarlo. (Fácil más que esta solución )


ya, es rápido. porque a diferencia de otras respuestas, usa el gradle disponible en el sistema que descargar una distribución de gradle a través de http o protocolo de archivo, descomprimirlo y ejecutarlo.
Banee Ishaque K

En mi caso, primero hago geos con el método de @edward anderson. luego cambió al método de wcc526 (es una modificación del método de TheKojuEffect), por último con este método.
Banee Ishaque K

Pero ahora tengo un problema con este método. Estoy usando gradle-4.0-rc-3 en mi sistema. pero esa versión no funciona en el último estudio de Android (creo que la última versión es 3.0-alpha6, pero tengo 3.0-alpha5); siempre hay errores de la última versión compatible de gradle es gradle-4.0-milestone-1, su versión es 4.0- rc-3. Tengo que degradar mi sistema gradle a 4.0-milestone-1 o siempre usar gradle wrapper con proyectos de estudio de Android. ¿Existe alguna solución para este problema?
Banee Ishaque K

Hacer que gradle funcione en su IDE pero no en la línea de comandos de gradle es una excelente manera de no poder usar o confiar en su herramienta de compilación para hacer nada. Solo debe intentar hacer que el IDE funcione DESPUÉS de verificar que la compilación de la línea de comandos sea exitosa. Hacerlo al revés es una excelente manera de perder horas y días de sus vidas tratando de descubrir por qué las cosas se rompen de manera aleatoria y diferente en la suya y en la máquina de todos los demás ...
Ajax

0

crear un servidor local para simular la descarga https (tal vez un poco complejo), pero funciona
1. instalar tomcat, luego descomprimir y ejecutarE:\apache-tomcat-8.5.4\bin\startup.bat

2.put gradle-2.14.1-all.zipaE:\apache-tomcat-8.5.4\webapps\ROOT\distributions

3.Cambie la URL como esta distributionUrl=http\://localhost:8080/distributions/gradle-2.14.1-all.zip
ahora se ejecuta como de costumbre


Checkout respuesta de @ wcc526, funciona bien y es más fácil de implementar.
Banee Ishaque K

0

copia tu ruta donde pones el archivo gradle-5.0-rc-5-bin.zip ejemplo: ruta C: / My doc / tools

si tiene algunos espacios en su camino cámbielo con% 20

archivo: /// C: /My%20doc/tools/gradle-5.0-rc-5-bin.zip

y ejecuta el comando:

$ gradlew wrapper --gradle-version 5.0-rc-5

0

// No use Android 8, ya que seguirá descargando la distribución de calificaciones, use el grado 7

plataforma ionic cordova agregar android@8.0.0

// Esto se ejecutará

plataforma ionic cordova agregar android@~7.1.1 - guardar

Luego, ejecute abajo y esta vez debería tener éxito (funcionó para mí)

ionic cordova construir android

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.