Verwendung von Gradle Zip im lokalen System ohne Download bei Verwendung von Gradle-Wrapper


86

Ich versuche ein Gradle-Projekt mit Gradle-Wrapper ( gradlew) zu erstellen .

Wenn ich mit baue ./gradlew build, wird Text ausgegeben

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

Und ich habe gradle-1.11-bin.zip bereits separat heruntergeladen und möchte es beim Erstellen nicht erneut herunterladen.

Wo soll ich gradle-1.11-bin.zip in mein Projekt oder System einfügen, damit ich es nicht erneut herunterladen muss?

gradle / wrapper / gradle-wrapper.properties lautet wie folgt.

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

Und ich habe versucht, gradle-1.11-bin.zip in gradle / wrapper / dists zu kopieren, was das Problem nicht gelöst hat.

Antworten:


108

Aus der Gradle-Wrapper- Dokumentation habe ich in Abschnitt 61.1 gefunden. Aufbau

Wenn Sie nicht möchten, dass beim Erstellen Ihres Projekts über gradlew ein Download erfolgt, fügen Sie einfach die Gradle-Verteilungs-Zip-Datei zu Ihrer Versionskontrolle an der in Ihrer Wrapper-Konfiguration angegebenen Position hinzu. Eine relative URL wird unterstützt. Sie können eine Verteilungsdatei relativ zum Speicherort der Datei gradle-wrapper.properties angeben.

Also änderte ich distributionUrl Eigentum in gradle-wrapper.propertieszu

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

Dann machte ich eine Kopie gradle-1.11-bin.zipin gradle/wrapper/.

Dann ./gradlew buildheruntergeladen lokale Kopie von zip und baute das Projekt.


9
Dies übersieht einen Hauptpunkt des Wrappers, nämlich, dass Gradle automatisch für alle Build-Benutzer heruntergeladen und installiert wird. Wenn Sie eine lokale Installation bevorzugen, fügen Sie diese in Ihren PATH ein und rufen Sie gradlestatt auf gradlew.
Peter Niederwieser

1
@PeterNiederwieser Ja, du hast recht. Ich habe PATH eingerichtet, wollte aber den Wrapper ausprobieren, da dies empfohlen wird, aber ich wollte gradle zip nicht erneut herunterladen. Außerdem bin ich neu im Gradle.
TheKojuEffect

31
Dies ist eine große Sache, wenn Sie Software an jemanden senden müssen, der keinen Internetzugang hat. Ja, das passiert wirklich. Es gibt Computer, die nicht mit dem Internet verbunden sind.
Chris Jones

2
Die Wahrheit ist, dass ich Gradle niemals ternimal herunterladen kann, zu langsam
Shaw

3
Oder an einem Tag wie heute, an dem das Büronetzwerk sehr langsam ist, ist dies ein guter Hack, um weiter voranzukommen. ... müssen nur daran denken, zurückzusetzen, sobald die Netzwerkgeschwindigkeiten wieder normal sind. Auch ein guter Trick, wenn Sie die Bandbreite gemessen haben, nehme ich an.
Reverend

37

Ändern Sie die Eigenschaften gradle / gradle-wrapper.properties

Windows:

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

Linux:

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

2
Normalerweise verwende ich die Windows-Version von Android Studio, aber manchmal öffne ich meine Projekte unter einem Linux-Betriebssystem. Ist es möglich, so zu definieren distributionUrl, dass das Gradle ZIP-Paket auf beiden Betriebssystemen verfügbar ist, ohne den distributionUrlWert zu ändern ?
Ir-Tech

1
@ ir-tech, können Sie relativen Pfad verwenden, wie Datei \: ///../lib/gradle-2.2.1-all.zip
AaA

// Verwenden Sie Android 8 nicht, da es weiterhin die Klassenverteilung herunterlädt. Verwenden Sie die ionische Cordova-Plattform der Klasse 7. Fügen Sie android@8.0.0 hinzu. // Dies führt die ionische Cordova-Plattform aus. Fügen Sie android@~7.1.1 hinzu es sollte Erfolg haben (für mich gearbeitet) ionic cordova build android
Anand_5050

14

Ziehen Sie einfach die heruntergeladene Gradle-Datei in die Adressleiste Ihres Browsers, kopieren Sie die Adresse aus der Adressleiste und ändern Sie gradle / wrapper / gradle-wrapper.properties wie folgt:

distributionUrl=ADDRESS THAT COPY FROM YOUR BROWSER

Beispiel:

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

Oder Sie können die Datei gradle.zip in den Wrapper-Ordner kopieren und dann den relativen Pfad verwenden:

distributionUrl=gradle.zip

Funktioniert nicht. DistributionUrl wird automatisch auf https \: //services.gradle.org/distributions/gradle-4.10.3-all.zip auf ionic cordova build android
korrigiert

8

Dies habe ich getan, um zu vermeiden, dass alle Gradle-Wrapper für aktuelle und zukünftige Projekte bearbeitet werden.

  • Suchen Sie Ihre gradle-wrapper.propertiesin Ihrem Projektordner (z. B. ./gradle/wrapper/gradle-wrapper.properties)
  • Öffnen Sie die Datei mit einem Texteditor wie Sublime Text, um die distributionUrlZeile zu suchen (z.distributionUrl=http\://services.gradle.org/distributions/gradle-2.10-bin.zip

Das benötigte Gradle-Binärarchiv ist gradle-2.10-bin.zip. Eine andere Version gradle-2.10-all.zipenthält alles, einschließlich Quellcode und Dokumentation.

Bitte beachten Sie, dass jedes Projekt mit unterschiedlichen Versionen von Gradle-Distributionen geliefert wird und Sie die Version in die Version ändern können, die Sie ( gradle-x.xx-XXX.zip) mit der Binärdatei haben. (zB gradle-2.11-bin.zip| gradle-2.11-all.zip).

Führen Sie es gradlew.batunter Windows oder gradleLinux aus, um den Wrapper zum Erstellen des Projekts zu starten.

Es wird mit dem Herunterladen gradle-2.10-bin.zipin das .gradle\wrapper\distsVerzeichnis in Ihrem Home-Verzeichnis (z. B. C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-bin) begonnen. Dieser Download erfolgt nur einmal für jede angegebene Gradle-Version.

Wenn Sie das Archiv bereits heruntergeladen haben, bevor Sie den Download mit Ctrl+ beenden könnenC

Gehen Sie in den Gradle-Download-Speicherort, C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-all\78v82fsf226usgvgh7q2ptcvifkopieren Sie Ihre eigene Kopie gradle-2.10-bin.zipin dieses Verzeichnis und löschen Sie die gradle-2.10-all.zip.partin diesem Verzeichnis.

Das ist alles. Kehren Sie zur Ausführung in Ihr Projektverzeichnis zurück, gradlew.batund es verwendet Ihre lokale Kopie, anstatt eine neue herunterzuladen.


Checkout-Antwort von @ wcc526, es funktioniert gut und einfacher zu implementieren.
Banee Ishaque K

4

Diese Lösung hat bei mir nicht funktioniert, hilft mir jedoch dabei, den richtigen Weg zu finden. Wenn Sie gradle offline installieren möchten, gehen Sie folgendermaßen vor:

1- Öffnen Sie in Ihrem Projekt im gradle-Verzeichnis diese Datei (gradle-wrapper.properties).

2- In der letzten Zeile finden Sie die Gradle-Version, laden Sie diese Version herunter oder kopieren Sie die Datei von einem anderen PC

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

Der Download-Link sieht folgendermaßen aus: http://services.gradle.org/distributions/gradle-3.3-bin.zip

3- Öffnen Sie diesen Speicherort C: \ Users \ userName.gradle \ wrapper \ dists \ gradle-3.3-all und stellen Sie sicher, dass es sich nur um einen Ordner handelt (der Name spielt bei Geräten keine Rolle), wenn andere Ordner alle Ordner löschen Sie und drücken Sie Gradle Sync auf Android Studio, wodurch automatisch ein weiterer Ordner mit einem zufälligen Namen generiert wird.

4- Öffnen Sie diesen Ordner und stellen Sie sicher, dass nur die letzten beiden Dateien im Screenshot enthalten sind.

5- Verschieben Sie die heruntergeladene Zip-Datei in diesen Ordner

6- Drücken Sie Sync Gradle auf Android Studio erneut. Nehmen Sie an, dass Gradle gut funktioniert.

Geben Sie hier die Bildbeschreibung ein


2

Ich habe einen anderen einfachsten Weg gefunden, dies zu tun. Ich habe gerade meinen XAMPP-Server gestartet und dann einen Ordner gradledarin erstellt htdocs. Ich habe die komprimierte Datei gradle-4.4-all.zipin diesem Ordner hinzugefügt . Die Verteilungs-URL wurde geändert, um distributionUrl=http\://localhost/gradle/gradle-4.4-all.zip Android neu zu starten und die Synchronisierung ohne Probleme abzuschließen.


0

Ich lade zu

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

In Eclipse erkläre ich: Geben Sie hier die Bildbeschreibung ein


Dann erstelle ich sehr schnell ein neues Gradle-Projekt (mit Wrapper), ohne dass ein Download erforderlich ist. (Einfacher als diese Lösung )


ya, es ist schnell. Im Gegensatz zu anderen Antworten wird der im System verfügbare Gradle verwendet, als eine Gradle-Distribution über das http- oder Dateiprotokoll herunterzuladen, zu entpacken und auszuführen.
Banee Ishaque K

In meinem Fall geos ich zuerst mit der Methode von @edward anderson. dann auf die Methode von wcc526 umgestellt (es ist eine Modifikation der Methode von TheKojuEffect), die dieser Methode entspricht.
Banee Ishaque K

Aber jetzt habe ich ein Problem mit dieser Methode. Ich verwende Gradle-4.0-RC-3 auf meinem System. Aber diese Version funktioniert nicht mit dem neuesten Android Studio (ich denke, die neueste Version ist 3.0-Alpha6, aber ich habe 3.0-Alpha5) - es gibt immer Fehler durch die neueste unterstützte Gradle-Version ist Gradle-4.0-Meilenstein-1, Ihre Version ist 4.0- rc-3. Ich muss mein System Gradle auf 4.0-Meilenstein-1 herabstufen oder immer Gradle Wrapper mit Android Studio-Projekten verwenden. Gibt es eine Problemumgehung für dieses Problem?
Banee Ishaque K

Nur Gradle in Ihrer IDE zum Laufen zu bringen, aber nicht in der Gradle-Befehlszeile, ist eine großartige Möglichkeit, Ihr Build-Tool nicht für irgendetwas zu verwenden oder ihm zu vertrauen. Sie sollten erst versuchen, die IDE funktionsfähig zu machen, nachdem Sie überprüft haben, ob die Befehlszeilenerstellung erfolgreich ist. Umgekehrt ist es eine großartige Möglichkeit, Stunden und Tage Ihres Lebens zu verlieren, um herauszufinden, warum die Dinge auf Ihrer und der Maschine aller anderen zufällig und unterschiedlich brechen ...
Ajax

0

Erstellen Sie einen lokalen Server, um den https-Download zu verspotten (möglicherweise etwas komplex), aber es funktioniert
1. Installieren Sie Tomcat, entpacken Sie es und führen Sie es ausE:\apache-tomcat-8.5.4\bin\startup.bat

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

3. Ändern Sie die URL wie folgt distributionUrl=http\://localhost:8080/distributions/gradle-2.14.1-all.zip
jetzt wie gewohnt


Checkout-Antwort von @ wcc526, es funktioniert gut und einfacher zu implementieren.
Banee Ishaque K

0

Kopieren Sie Ihren Pfad, in den Sie die Datei gradle-5.0-rc-5-bin.zip einfügen. Beispiel: Pfad C: / Mein Dokument / tools

Wenn Sie einige Leerzeichen in Ihrem Pfad haben, ändern Sie diese mit% 20

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

und führen Sie den Befehl aus:

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

0

// Verwenden Sie nicht Android 8, da es weiterhin die Notenverteilung herunterlädt. Verwenden Sie die Note 7

ionische Cordova-Plattform hinzufügen android@8.0.0

// Dies wird ausgeführt

ionische Cordova-Plattform hinzufügen android@~7.1.1 --save

Dann laufen Sie unten und dieses Mal sollte es Erfolg haben (Arbeitete für mich)

ionische Cordova bauen Android

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.