Come utilizzare gradle zip nel sistema locale senza scaricare quando si utilizza gradle-wrapper


89

Sto cercando di costruire un progetto gradle con gradle-wrapper ( gradlew).

Quando costruisco con ./gradlew build, restituisce testo

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

E ho già scaricato gradle-1.11-bin.zip separatamente e non voglio scaricarlo di nuovo quando lo compilo.

Quindi, dove devo mettere gradle-1.11-bin.zip nel mio progetto o sistema in modo da non dover scaricare di nuovo?

gradle / wrapper / gradle-wrapper.properties è il seguente.

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

E ho provato a copiare gradle-1.11-bin.zip in gradle / wrapper / dists che non ha risolto il problema.

Risposte:


111

Dalla documentazione gradle-wrapper , ho trovato nella sezione 61.1. Configurazione

Se non vuoi che avvenga alcun download quando il tuo progetto viene compilato tramite gradlew, aggiungi semplicemente lo zip di distribuzione Gradle al tuo controllo della versione nella posizione specificata dalla configurazione del wrapper. È supportato un URL relativo: è possibile specificare un file di distribuzione relativo alla posizione del file gradle-wrapper.properties.

Così, ho cambiato distributionUrl proprietà in gradle-wrapper.propertiesa

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

Quindi, ho fatto una copia di gradle-1.11-bin.zipin gradle/wrapper/.

Quindi, ./gradlew buildscarica la copia locale di zip e crea il progetto.


9
Questo manca di un punto principale del wrapper, ovvero che Gradle viene scaricato e installato automaticamente per tutti gli utenti di build. Se preferisci usare un'installazione locale, inseriscila nel tuo PATH e invoca gradleinvece di gradlew.
Peter Niederwieser

1
@PeterNiederwieser Sì, hai ragione. Ho impostato PATH ma volevo provare il wrapper in quanto è il modo consigliato ma non volevo scaricare di nuovo Gradle Zip. Inoltre, sono nuovo a gradle.
TheKojuEffect

32
Questo è un grosso problema se devi inviare software a qualcuno che non ha accesso a Internet. Sì, è qualcosa che accade davvero; ci sono computer che non sono connessi a Internet.
Chris Jones

3
La verità è che non riesco mai a scaricare gradle in ternimal, troppo lento
Shaw

3
O in una giornata come quella odierna in cui la rete dell'ufficio è molto lenta, questo è un bel trucco per continuare ad andare avanti. ... basta ricordarsi di ripristinare una volta che le velocità di rete tornano normali. Anche un buon trucco se hai misurato la larghezza di banda suppongo.
reverendo il

41

Modifica gradle / gradle-wrapper.properties

Finestre:

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

linux:

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

2
Di solito utilizzo la versione Windows di Android Studio ma a volte apro i miei progetti in un sistema operativo Linux. È possibile definire distributionUrlin modo tale che il pacchetto Gradle ZIP sia accessibile su entrambi i sistemi operativi senza modificare il distributionUrlvalore?
ir-tech

1
@ ir-tech, puoi usare il percorso relativo, come file \: ///../lib/gradle-2.2.1-all.zip
AaA

// Non utilizzare Android 8 in quanto continuerà a scaricare la distribuzione dei voti utilizzare la piattaforma Cordova ionica di grado 7 aggiungi android@8.0.0 // Verrà eseguita la piattaforma Cordova ionica aggiungi android@~7.1.1 - salva Quindi esegui di seguito e questa volta dovrebbe avere successo (ha funzionato per me) ionic cordova build android
Anand_5050

16

Basta trascinare il file gradle scaricato nella barra degli indirizzi del browser, quindi copiare l'indirizzo dalla barra degli indirizzi e modificare gradle / wrapper / gradle-wrapper.properties come segue:

distributionUrl=ADDRESS THAT COPY FROM YOUR BROWSER

esempio:

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

oppure puoi copiare il file gradle.zip nella cartella wrapper, quindi utilizzare il percorso relativo:

distributionUrl=gradle.zip

Non funziona. distributionUrl ottiene la correzione automatica su https \: //services.gradle.org/distributions/gradle-4.10.3-all.zip su ionic cordova build android
Anand_5050

9

Questo è quello che ho fatto per evitare di modificare tutti i wrapper gradle per i progetti attuali e futuri.

  • Individua il tuo gradle-wrapper.propertiesnella cartella del progetto (ad es. ./gradle/wrapper/gradle-wrapper.properties)
  • apri il file con un editor di testo come Sublime Text per individuare la distributionUrlriga (es.distributionUrl=http\://services.gradle.org/distributions/gradle-2.10-bin.zip

L'archivio binario gradle necessario è gradle-2.10-bin.zip. Un'altra versione è gradle-2.10-all.zipche include tutto, compreso il codice sorgente e la documentazione.

Tieni presente che ogni progetto viene fornito con versioni diverse delle distribuzioni gradle e puoi cambiare la versione in quella che hai ( gradle-x.xx-XXX.zip) che include il binario. (es. gradle-2.11-bin.zip| gradle-2.11-all.zip).

Esegui gradlew.batsu finestra o gradlesu linux per avviare il wrapper per costruire il progetto.

Si inizia a scaricare il gradle-2.10-bin.zipla .gradle\wrapper\distsnella vostra home directory (ad es. C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-bin). Questo download avviene solo una volta per ogni versione gradle specificata.

Se hai già scaricato l'archivio prima di poter terminare il download utilizzando Ctrl+C

Vai nel percorso di download gradle C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-all\78v82fsf226usgvgh7q2ptcvifcopia la tua copia gradle-2.10-bin.zipin quella directory, quindi elimina il file gradle-2.10-all.zip.partin quella directory.

È tutto. Torna alla directory del tuo progetto per eseguirlo gradlew.bate userà la tua copia locale invece di scaricarne una nuova.


risposta al checkout di @ wcc526, funziona bene e più facile da implementare.
Banee Ishaque K

4

Questa soluzione non ha funzionato per me, ma aiutami a ottenere il modo giusto, quindi se vuoi installare Gradle offline segui questi passaggi:

1- nel tuo progetto nella directory gradle apri questo file (gradle-wrapper.properties)

2- in ultima riga troverai la versione gradle, scarica quella versione o copia il file da un altro pc

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

Il link per il download sarà così: http://services.gradle.org/distributions/gradle-3.3-bin.zip

3- apri questa posizione C: \ Users \ userName.gradle \ wrapper \ dists \ gradle-3.3-all e assicurati che sia solo una cartella (il nome non ha importanza se è diverso sui dispositivi) se ci sono altre cartelle elimina tutto loro e premere gradle sync su Android Studio che genererà automaticamente un'altra cartella con un nome casuale.

4- apri quella cartella e assicurati che nello screenshot siano presenti solo gli ultimi due file.

5- sposta il file zip che hai scaricato in quella cartella

6- premere nuovamente gradle di sincronizzazione su Android Studio supponiamo che gradle funzioni bene.

inserisci qui la descrizione dell'immagine


2

Ho trovato un altro modo più semplice per farlo appena avviato il mio server XAMPP e poi ho creato una cartella gradleall'interno htdocs. Ho aggiunto il file zippato gradle-4.4-all.zipall'interno di quella cartella. Modificato l'URL di distribuzione in distributionUrl=http\://localhost/gradle/gradle-4.4-all.zip Ho riavviato Android e la sincronizzazione è stata completata senza problemi.


0

Scarico in

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

all'interno di Eclipse dichiaro: inserisci qui la descrizione dell'immagine


Quindi creo un nuovo progetto Gradle (con wrapper) molto velocemente, senza bisogno di download. (Facile più di questa soluzione )


ya, è veloce. perché a differenza di altre risposte, utilizza il gradle disponibile nel sistema rispetto al download di una distribuzione gradle tramite http o protocollo file, decomprimendolo ed eseguendolo.
Banee Ishaque K

Nel mio caso, in primo luogo ho geo con il metodo di @edward anderson. quindi passato al metodo wcc526 (è una modifica del metodo di TheKojuEffect), almeno a questo metodo.
Banee Ishaque K

Ma ora ho un problema con questo metodo. sto usando gradle-4.0-rc-3 sul mio sistema. ma quella versione non funziona con l'ultima versione di Android Studio (penso che l'ultima versione sia 3.0-alpha6, ma io ho 3.0-alpha5) - l'errore sempre nell'ultima versione supportata gradle è gradle-4.0-milestone-1, la tua versione è 4.0- rc-3. devo eseguire il downgrade del mio sistema gradle a 4.0-milestone-1 o utilizzare sempre il wrapper gradle con i progetti di studio Android. c'è qualche soluzione per questo problema?
Banee Ishaque K

Far funzionare semplicemente gradle nel tuo IDE ma non la riga di comando gradle è un ottimo modo per non essere in grado di utilizzare o fidarsi del tuo strumento di compilazione per fare qualsiasi cosa. Dovresti provare a far funzionare l'IDE solo DOPO aver verificato che la compilazione della riga di comando abbia esito positivo. Farlo al contrario è un ottimo modo per perdere ore e giorni della tua vita cercando di capire perché le cose si rompono in modo casuale e diverso sulla tua macchina e su quella di tutti gli altri ...
Ajax

0

crea un server locale per simulare il download https (forse un po 'complesso), ma funziona
1. installa tomcat quindi decomprimilo ed eseguiE:\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.cambia l'URL come questo distributionUrl=http\://localhost:8080/distributions/gradle-2.14.1-all.zip
ora funziona come al solito


risposta al checkout di @ wcc526, funziona bene e più facile da implementare.
Banee Ishaque K

0

copia il tuo percorso dove metti il ​​file gradle-5.0-rc-5-bin.zip esempio: percorso C: / My doc / tools

se hai degli spazi nel tuo percorso cambiarlo con% 20

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

ed eseguire il comando:

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

0

// Non utilizzare Android 8 poiché continuerà a scaricare la distribuzione dei voti utilizzando il grado 7

La piattaforma ionica Cordova aggiunge android@8.0.0

// Questo verrà eseguito

piattaforma ionica cordova aggiungi android@~7.1.1 --salva

Quindi corri di seguito e questa volta dovrebbe avere successo (ha funzionato per me)

ionic cordova build android

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.