Sie generieren es einmal und erneut, wenn Sie die im Projekt verwendete Version von Gradle ändern möchten. Es ist nicht nötig, so oft zu generieren. Hier sind die Dokumente. Fügen Sie einfach eine wrapper
Aufgabe zur build.gradle
Datei hinzu und führen Sie diese Aufgabe aus, um die Wrapper-Struktur zu erhalten.
Beachten Sie, dass Gradle installiert sein muss , um einen Wrapper zu generieren. Das großartige Tool zum Verwalten von G-Ökosystem-Artefakten ist SDKMAN! . Fügen Sie der build.gradle
Datei den folgenden Code hinzu, um einen Gradle-Wrapper zu generieren :
task wrapper(type: Wrapper) {
gradleVersion = '2.0' //version required
}
und Renn:
gradle wrapper
Aufgabe. Fügen Sie die resultierenden Dateien zu SCM hinzu (z. B. git), und ab sofort haben alle Entwickler dieselbe Version von Gradle, wenn Sie Gradle Wrapper verwenden.
Mit Gradle 2.4 (oder höher) können Sie einen Wrapper einrichten, ohne eine spezielle Aufgabe hinzuzufügen:
gradle wrapper --gradle-version 2.3
oder
gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip
Alle Details finden Sie hier
Von Gradle 3.1
--distribution-type
kann auch die Option verwendet werden. Die Optionen sind binär und alle und bin . Alle enthalten zusätzlich Quellcode und Dokumentation. Alles ist auch besser, wenn IDE verwendet wird, sodass der Editor besser funktioniert. Nachteil ist, dass der Build möglicherweise länger dauert (mehr Daten müssen heruntergeladen werden, was auf dem CI-Server sinnlos ist) und mehr Speicherplatz benötigt.
Dies sind Gradle Wrapper-Dateien. Sie müssen sie einmal generieren (für eine bestimmte Version) und zur Versionskontrolle hinzufügen. Wenn Sie die Version von Gradle Wrapper ändern müssen, ändern Sie die Version in build.gradle
siehe (1.) und generieren Sie die Dateien neu.
Geben Sie ein detailliertes Beispiel. Eine solche Datei kann mehrere Zwecke haben: Projekt mit mehreren Modulen, Trennung der Verantwortlichkeiten, leicht modifiziertes Skript usw.
settings.gradle
ist eher für die Struktur des Projekts verantwortlich (Module, Namen usw.), während gradle.properties
es für die externen Details des Projekts und Gradle (Version, Befehlszeilenargumente -XX
, Eigenschaften usw.) verwendet wird.
build.gradle
Skript in mehrere kürzere Skripte unterteilt und sich einem bestimmten Zweck gewidmet. Wie Sie das Skript unter gradle dir a auf die Hauptdatei anwenden könnenbuild.gradle
, sehen Sie: github.com/Netflix/eureka/blob/master/build.gradle . Wo Sie solche Module platzieren, ist Ihre Wahl. Das ist alles im Allgemeinen. Wenn Sie mit der Antwort zufrieden sind, akzeptieren Sie bitte die Antwort :)--distribution-type
z. B.gradle wrapper --gradle-version 4.3.1 --distribution-type ALL
Gradle Wrapper generieren
Projekt Build Gradle
Dann an der Kommandozeile ausführen
Wenn Sie gradle auf Ihrem System vermissen, installieren Sie es oder das oben genannte funktioniert nicht. Auf einem Mac ist es am besten, über Homebrew zu installieren.
gradlew
Verwenden Sie Ihren Systemgradle nicht, nachdem Sie die Wrapper-Task erfolgreich ausgeführt und generiert haben. Es erspart Ihnen viele Kopfschmerzen.Was ist mit dem oben gezeigten Gradle-Plugin?
Sie sollten die Version auf den neuesten Stand bringen und die Tools-Seite überprüfen und die Version entsprechend bearbeiten.
Sehen Sie, was Android Studio generiert
Das Hinzufügen von gradle und dem neuesten Android Studio hat das Projektlayout dramatisch verändert. Wenn Sie ein älteres Projekt haben, empfehle ich dringend, ein sauberes mit dem neuesten Android Studio zu erstellen und zu sehen, was Google als Standardprojekt betrachtet.
Android Studio verfügt über Funktionen zum Importieren älterer Projekte, die ebenfalls hilfreich sein können.
quelle
gradleVersion = '2.2'
intaskWrapper
kann jede Version verwenden, die ich zum Generieren des Wrappers wünsche, richtig? Muss nicht die neueste Version von gradle sein?Ab Gradle 2.4 können Sie
gradle wrapper --gradle-version X.X
eine bestimmte Version des Gradle-Wrappers konfigurieren, ohne Ihrerbuild.gradle
Datei Aufgaben hinzuzufügen . Wenn Sie den Wrapper das nächste Mal verwenden, wird die entsprechende Gradle-Distribution heruntergeladen.quelle
Wenn Sie gradle mit Quellcode und Dokumenten herunterladen möchten, entspricht die in gradle-wrapper.properites konfigurierte Standardverteilungs-URL nicht Ihren Anforderungen. Sie lautet https://services.gradle.org/distributions/gradle-2.10-bin.zip . nicht https://services.gradle.org/distributions/gradle-2.10-all.zip. Diese vollständige URL wird von einer IDE wie Android Studio vorgeschlagen. Wenn Sie den vollständigen Gradle herunterladen möchten, können Sie die Wrapper-Aufgabe wie folgt konfigurieren ::
quelle
Dies ist der Befehl, mit dem Gradle angewiesen wird, den Wrapper so zu aktualisieren, dass er die Verteilungsversionen von Bibliotheken mit Quellcode abruft:
Wenn Sie den Verteilungstyp mit "all" angeben, wird sichergestellt, dass Gradle Quelldateien zur Verwendung durch Ihre Entwicklungsumgebung herunterlädt.
Vorteile :
Nachteile :
Bitte kommentieren Sie oder geben Sie eine andere Antwort, wenn Sie eine Befehlszeilenoption kennen, mit der Gradle angewiesen wird, keine Quellen auf einen Build-Server herunterzuladen.
quelle
Sie werden sie einmal generieren, aber aktualisieren, wenn Sie eine neue Funktion oder etwas von einem Plugin benötigen, das wiederum eine neuere Gradle-Version benötigt.
Einfachste Möglichkeit zum Aktualisieren: Ab Gradle 2.2 können Sie einfach die vollständige oder binäre Gradle-Distribution herunterladen und extrahieren und Folgendes ausführen:
Sie müssen keine Aufgabe definieren, obwohl Sie wahrscheinlich eine Art
build.gradle
Datei benötigen .Dadurch werden der
gradlew
undgradlew.bat
-Wrapper sowie der und aktualisiertgradle/wrapper/gradle-wrapper.properties
und erstelltgradle-wrapper.jar
, um die aktuelle Version von gradle bereitzustellen.Das ist alles Teil des Wrappers.
Einige
build.gradle
Dateien verweisen auf andere Dateien oder Dateien in Unterverzeichnissen, bei denen es sich um Unterprojekte oder Module handelt. Es wird etwas kompliziert, aber wenn Sie ein Projekt haben, benötigen Sie im Grunde die eine Datei.settings.gradle
Behandelt Projekt-, Modul- und andere Arten von Namen und Einstellungen,gradle.properties
konfiguriert wiederverwendbare Variablen für Ihre Gradle-Dateien, wenn Sie möchten, und Sie glauben, dass sie auf diese Weise klarer werden.quelle
Versuchen Sie es weiter unten, da die in gradle integrierten Aufgaben in 4.8 veraltet sind
und Renn
quelle