2015-10-19 11 views
6

Es gibt viele Antworten auf WieMaven in Android verwenden und damit arbeiten.Was ist Maven im Android Studio?

jedoch, A Gradle ist bereits verfügbar, die den Erstellungsprozess von Android-Projekten verwaltet und komplexe Szenarien bei der Schaffung von Android-Anwendungen unterstützen, wie Multi-distribution und Multi-apk,

Was genau ist die Rolle des Maven in Android Studio?

Und wie unterscheidet es sich von Gradle?

Antwort

7

Die kurze Antwort lautet: Die Tools machen das gleiche, aber auf unterschiedliche Weise. Der Unterschied besteht darin, wie Sie dann Ihr Projekt erstellen können. Apache Maven entscheidet sich für "folge unserer Konvention" und Gradle gibt dir Flexibilität. Einige Entwickler wollen kein neues Werkzeug oder haben keine Zeit zu lernen, wie man es richtig benutzt.

Nun ist die lange Antwort ...

richtig zu verstehen, warum einige Devs zu Apache Maven gebunden sind, haben wir einige Jahre in der Vergangenheit zu suchen.

Apache Maven ist ein Build-Automatisierungstool wie Gradle.

Maven wurde 2004 veröffentlicht. Gradle erste Version stieg auf 2007, aber er wurde nicht so populär wie Maven in den frühen Tagen. Einige Entwickler möchten nichts Neues lernen und die meisten Unternehmen wollen nicht den Austausch eines bereits laufenden und gemeisterten Tools (Maven) für das neue Kind auf dem Block riskieren.

Gradle wurde populär, als die Android-Entwicklung stieg. Androids Projekt hat eine andere Projektstruktur als Java EE/Web Projekte. Der Versuch, Maven auf Androids Projekt zu verwenden, fühlt sich einfach unnatürlich an, das Tool war nicht darauf vorbereitet, Flexibilität zu bieten.

Bis jetzt kann Apache Maven in einfachen Java EE-Projekten verwendet werden, ohne dass es Ihnen wehtut, wenn Sie die erzwungenen Konventionen bereits kennen. Entwickler, die Gradle nicht kennen/nicht mit Android-Apps in Kontakt gekommen sind, haben keine Motivation, zu einem anderen Tool zu wechseln.

Meiner Meinung nach ist Gradle besser als Apache Maven in jeder Hinsicht, die Sie sich vorstellen können. Es gibt Ihnen Flexibilität und versucht Ihnen nicht in die Quere zu kommen, ein "Feature", das Sie in Apache Maven nicht finden können. Wenn Sie dem Lebenszyklus Apache Maven nicht folgen, wird Ihr Build fehlschlagen, das ist es.

Zum Beispiel kann Ihr Code über viele Verzeichnisse in jeder Art von Layout verteilt werden, wenn Sie Gradle verwenden. Wenn du auf Maven bist und du nicht der "Konvention" folgst, wirst du einige Stunden verlieren, wenn du deine POM-Datei (Maven 's Build-Datei) änderst, um deine Ordnerstruktur zu verstehen und damit umgehen zu können.

Zum Beispiel: Java-Quellcode muss auf src/main/java Ordner sein. Wenn Sie ein altes Projekt haben und die Struktur src/java ist, haben Sie keine Garantie, dass alle Maven Plugins wie erwartet ausgeführt werden.

Gradle uns einen Gefallen tut und mehr Funktionen zum Vergleich in einem sehr gut organisierten Diagramm. Schau mal. https://gradle.org/maven_vs_gradle/