Frage Was ist Gradle in Android Studio?


Gradle ist etwas verwirrend für mich und auch für neue Android-Entwickler. Kann mir jemand erklären, was Gradel in Android Studio ist und wozu es dient? Warum ist Gradle in Android Studio enthalten?


1031
2018-05-25 22:53


Ursprung


Antworten:


Kurze Antwort

Gradle ist ein Build-System.

Lange Antwort

Vor Android Studio haben Sie Eclipse für Ihre Entwicklungszwecke verwendet, und Sie wissen wahrscheinlich nicht, wie Sie Ihr Android-APK ohne Eclipse erstellen können.

Sie können dies in der Befehlszeile tun, aber Sie müssen lernen, was jedes Werkzeug (dx, aapt) im SDK tut. Eclipse hat uns alle von diesen niedrigen, aber wichtigen, grundlegenden Details gerettet, indem er uns sein eigenes Build-System gegeben hat.

Haben Sie sich jemals gefragt, warum? res Ordner befindet sich im selben Verzeichnis wie Ihr src Mappe?

Hier tritt das Build-System in das Bild ein. Das Build-System übernimmt automatisch alle Quelldateien (.java oder .xml), wendet dann das entsprechende Werkzeug an (z. B. Takes) java Klassendateien und konvertiert sie in dex Dateien) und gruppiert alle von ihnen in eine komprimierte Datei, unsere geliebte APK.

Dieses Build-System verwendet einige Konventionen: Ein Beispiel dafür ist, das Verzeichnis anzugeben, das die Quelldateien enthält (in Eclipse ist dies der Fall) \src Ordner) oder Ressourcen-Dateien (in Eclipse ist es \res Mappe).

Um all diese Aufgaben zu automatisieren, muss es ein Skript geben. Sie können Ihr eigenes Build-System mit Shell-Skripten in Linux oder Batch-Dateien Syntax in Windows schreiben. Ich habs?

Gradle ist ein anderer Build-System Das nutzt die besten Funktionen anderer Build-Systeme und kombiniert sie zu einem. Es ist auf der Grundlage ihrer Mängel verbessert. Es ist ein JVM-basiertes Build-SystemDas bedeutet, dass Sie Ihr eigenes Skript in Java schreiben können, welches Android Studio verwendet.

Eine coole Sache über Gradle ist, dass es ein ist Plugin-basiertes System. Das bedeutet, wenn Sie Ihre eigene Programmiersprache haben und die Aufgabe automatisieren möchten, ein Paket (Ausgabe wie ein JAR für Java) aus Quellen zu erstellen, dann können Sie ein komplettes Plugin in Java oder Groovy schreiben (oder Kotlin, siehe Hier), und verteile es an den Rest der Welt.

Warum hat Google es verwendet?

Google sah eines der fortschrittlichsten Build-Systeme auf dem Markt und erkannte, dass Sie mit wenig oder gar keiner Lernkurve eigene Skripte schreiben könnten, ohne Groovy oder eine andere neue Sprache zu lernen. Also haben sie das Android-Plugin für Gradle geschrieben.

Du musst es gesehen haben build.gradle Datei (en) in Ihrem Projekt. Dort können Sie Skripte schreiben, um Ihre Aufgaben zu automatisieren. Der Code, den Sie in diesen Dateien gesehen haben, ist Groovy-Code. Wenn du schreibst System.out.println("Hello Gradle!"); Dann wird es auf Ihrer Konsole gedruckt.

Was können Sie in einem Build-Skript tun?

Ein einfaches Beispiel ist, dass Sie einige Dateien von einem Verzeichnis in ein anderes kopieren müssen, bevor der eigentliche Build-Prozess stattfindet. Ein Gradle-Build-Skript kann dies tun.


1246
2017-07-18 15:27



Es ist das neue Build-Tool, das Google für Android verwenden möchte. Es wird verwendet, weil es erweiterbarer und nützlicher als Ameisen ist. Es soll die Entwicklererfahrung verbessern.

Sie können einen Vortrag von Xavier Ducrohet vom Android Developer Team ansehen Google I / O Hier.

Es gibt auch ein anderes Gespräch im Android Studio von Xavier und Tor Norbye während Google I / O hier.


137
2018-05-26 03:48



1 - Gradle Hintergrundinformation.

2 - Gradle Konzepte.

3 - Die Initialisierungsphase.

4 - Die Initialisierungsphase (Forts.).

5 - Was ist Gradle ?.

6 - Die Konfigurationsphase.

Gradle

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Sieh dir das an VERKNÜPFUNG


65
2018-03-11 08:43



Gradel ist ein Build-System läuft auf Android Studio.

In anderen Sprachen zum Beispiel:


34
2017-08-21 02:25



Hier ist eine detaillierte Erklärung darüber, was ist Gradle und wie man es in Android Studio verwendet.

Erkundung der Gradle-Dateien

  1. Jedes Mal, wenn Sie ein Projekt in Android Studio erstellen, wird das Build-System erstellt generiert automatisch alle notwendigen Gradle-Build-Dateien.

Gradle Builddateien

  1. Gradle Build-Dateien verwenden a Domain Specific Language or DSL definieren benutzerdefinierte Build-Logik und Interaktion mit dem Android-spezifischen Elemente des Android-Plugins für Gradle.

  2. Android Studio-Projekte bestehen aus 1 oder mehreren Modulen Komponenten, die Sie unabhängig voneinander erstellen, testen und debuggen können. Jeder Modul hat seine eigene Build-Datei, also jedes Android Studio-Projekt enthält 2 Arten von Gradle-Build-Dateien.

  3. Top-Level-Build-Datei: Hier finden Sie die Konfigurationsoptionen, die allen Modulen gemeinsam sind up dein Projekt.

  4. Builddatei auf Modulebene: Jedes Modul hat seine eigene Gradle-Build-Datei, die modulspezifische Build-Einstellungen enthält. Du wirst am meisten ausgeben von Ihrer Zeit bearbeiten Modulebene Build-Datei (en) statt Ihre Projekt-Top-Level-Build-Datei.

Wenn Sie sich diese build.gradle-Dateien ansehen möchten, öffnen Sie das Projektfenster von Android Studio (indem Sie die Registerkarte "Projekt" auswählen) und erweitern Sie den Ordner Gradle Scripts. Die ersten beiden Elemente im Ordner Gradle Scripts sind die Gradle-Builddateien auf Projekt- und Modulebene

Top-Level Gradle Build-Datei

Jedes Android Studio-Projekt enthält eine einzelne Gradle-Build-Datei auf oberster Ebene. Dies build.gradle Datei ist das erste Element, das im Ordner Gradle Scripts angezeigt wird und eindeutig als Projekt gekennzeichnet ist.

Meistens müssen Sie an dieser Datei keine Änderungen vornehmen, aber   es ist immer noch nützlich, seinen Inhalt und die Rolle, die er spielt, zu verstehen   in deinem Projekt.

Gradle-Builddateien auf Modulebene

Zusätzlich zu der Gradle-Build-Datei auf Projektebene verfügt jedes Modul über eine eigene Gradle-Build-Datei. Unten ist eine kommentierte Version einer grundlegenden Gradle-Build-Datei auf Modul-Ebene.

Andere Gradel-Dateien

Zusätzlich zu den build.gradle-Dateien enthält Ihr Gradle Scripts-Ordner einige andere Gradle-Dateien. In den meisten Fällen müssen Sie diese Dateien nicht manuell bearbeiten, da sie automatisch aktualisiert werden, wenn Sie relevante Änderungen an Ihrem Projekt vornehmen. Es ist jedoch eine gute Idee, die Rolle dieser Dateien in Ihrem Projekt zu verstehen.

gradle-wrapper.properties (Gradle Version)

Diese Datei ermöglicht es anderen Benutzern, Ihren Code zu erstellen, auch wenn Gradle nicht auf dem Computer installiert ist. Diese Datei prüft, ob die korrekte Version von Gradle installiert ist und lädt bei Bedarf die benötigte Version herunter.

settings.gradle

Diese Datei verweist auf alle Module, aus denen Ihr Projekt besteht.

gradle.properties (Projekteigenschaften)

Diese Datei enthält Konfigurationsinformationen für Ihr gesamtes Projekt.   Es ist standardmäßig leer, aber Sie können eine breite Palette von Eigenschaften anwenden   Ihr Projekt, indem Sie sie zu dieser Datei hinzufügen.

local.properties (SDK-Speicherort)

Diese Datei teilt dem Android Gradle-Plugin mit, wo es Ihre Android SDK-Installation finden kann.

Hinweis:  local.properties enthält Informationen, die für die lokale Installation des Android SDK spezifisch sind. Dies bedeutet, dass Sie diese Datei nicht unter Quellcodeverwaltung behalten sollten.

Vorgeschlagene Lektüre - Tutsplus Tutorial 

Ich habe großes Verständnis von Gradle davon bekommen.


28
2017-12-12 08:04



Gradle ist eine Art von Werkzeug bauen das baut den Quellcode des Programms. Es ist also ein wichtiger Bestandteil von Android Studio und muss vor der Entwicklung der Anwendung installiert werden.

Wir müssen es nicht separat installieren, weil das Android Studio es für uns macht, wenn wir unser erstes Projekt machen.


24
2018-01-19 09:14



DEFINITION::  Gradle kann als strukturierter Baumechanismus bezeichnet werden, der Entwicklern die Werkzeuge und die Flexibilität bietet, die Ressourcen eines Projekts zu verwalten, um Builds zu erstellen smaller in size, targeting specific requirements für bestimmte Geräte bestimmter Konfigurationen 


GRUNDKONFIGURATIONEN 

  1. minimumSdk 
  2. maximumSdk 
  3. targettedSdk 
  4. versionCode 
  5. versionName

BIBLIOTHEKEN :: Wir können hinzufügen, Android-Bibliotheken oder andere Drittanbieter-Bibliotheken zusätzlich nach Anforderungen leicht, die eine mühsame Aufgabe früher war. Wenn die Bibliothek nicht für das vorhandene Projekt geeignet ist, wird dem Entwickler ein Protokoll angezeigt, in dem die Person eine geeignete Lösung finden kann, um Änderungen am Projekt vorzunehmen, damit die Bibliothek hinzugefügt werden kann. Es ist nur eine Zeile der Abhängigkeit 


ERZEUGEN VON SORTEN VON BUILDS

Kombinieren Sie Build-Typen mit Build-Flavors, um verschiedene Build-Varianten zu erhalten 

 ====================                         ====================
|     BuildTypes     |                       |   ProductFlavours  |
 --------------------  ====================== --------------------
|  Debug,Production  |      ||       ||      | Paid,Free,Demo,Mock|
 ====================       ||       ||       ==================== 
                            ||       ||
                            VV       VV
 =================================================================
|           DebugPaid, DebugFree, DebugDemo, DebugMock            |
|  ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
 =================================================================

REDUZIEREN GRÖSSE

Gradle hilft dabei, die Größe des generierten Builds zu reduzieren, indem die unbenutzten Ressourcen auch unbenutzte Objekte aus integrierten Bibliotheken entfernen


Berechtigungen verwalten 

Wir können bestimmte Berechtigungen für bestimmte Builds angeben, indem Sie in bestimmten Szenarien basierend auf den Anforderungen bestimmte Berechtigungen hinzufügen


BUILDS für bestimmte Geräte

Wir können Build für bestimmte Geräte verwalten, die bestimmte Dichten und bestimmte API-Ebenen enthalten. Dies hilft bei Produktbereitstellungen im App Store entsprechend den Anforderungen für verschiedene Gerätetypen


Gute Referenz

Vogella Tutorials


20
2017-11-26 17:21



Hier finden Sie alles, was Sie über Gradle wissen müssen: Gradle Plugin Benutzerhandbuch

Ziele des neuen Build-Systems

Die Ziele des neuen Build-Systems sind:

  • Erleichtern Sie die Wiederverwendung von Code und Ressourcen
  • Machen Sie es leicht, mehrere Varianten einer Anwendung zu erstellen, entweder für die Multi-Apk-Verteilung oder für verschiedene Varianten einer Anwendung
  • Erleichtern Sie die Konfiguration, Erweiterung und Anpassung des Build-Prozesses
  • Gute IDE-Integration

Warum Gradle?

Gradle ist ein fortgeschrittenes Build-System sowie ein fortgeschrittener Build   Toolkit zum Erstellen eigener Build-Logik über Plugins.

Hier sind einige der Features, die uns zur Wahl von Gradle geführt haben:

  • Domain Specific Language (DSL) zur Beschreibung und Bearbeitung der Build-Logik
  • Build-Dateien sind Groovy-basiert und ermöglichen das Mischen von deklarativen Elementen über das DSL und das Verwenden von Code zum Manipulieren der DSL-Elemente   um benutzerdefinierte Logik bereitzustellen.
  • Eingebautes Abhängigkeitsmanagement durch Maven und / oder Ivy.
  • Sehr flexibel. Ermöglicht die Verwendung von Best Practices, erzwingt jedoch nicht die eigene Vorgehensweise.
  • Plugins können ihre eigene DSL und ihre eigene API für Build-Dateien zur Verfügung stellen.
  • Good Tooling API ermöglicht IDE-Integration

19
2018-01-21 04:50