Gradle Anleitung

A

Andrez

Fortgeschrittenes Mitglied
64
Hi,

ich habe ein großes Problem was mich sehr nervt: Gradle. Dieses System ist nervig. Android Studio war prima, nur habe ich ständig Probleme mit Gradle gehabt...entweder konnte er den sch**** Wrapper nicht finden oder oder oder daher bin ich wieder zurück zu Eclipse. Nur habe ich ein Problem: Viele Examples erfordern Gradle und LibDdx auch. Ich habe auch schon nach Integrationsmöglichkeiten für Eclipse gesucht aber finde nichts außer tote oder veraltete Links für das PlugIn. Hat einer zufällig eine Kurzanleitung parrat? Ich bin wegen diesem Mist sehr frustriert...habe Eclipse 4.3 "Kepler" :angry:
 
Wann hast du denn Gradle zuletzt ausprobiert? Ich bin der Meinung, dass das mittlerweile alles sehr gut und einfacher funktioniert, als zu AndroidStudio-Anfangszeiten.

Da ich schon lange nicht mehr mit Eclipse arbeite/arbeiten will, kann ich die leider auch nicht sagen, wie man das am besten löst, aber eine ganz unkonventionelle Methode wäre das Erstellen eines neuen Projektes, wo du die Dateien von Examples etc. bspw rein kopierst ;) :D
 
Du kannst doch gradle ganz oldschool von der Konsole aus verwenden, und dann das erstellt projekt in eclipse importieren.

lg. Dagobert
 
  • Danke
Reaktionen: Andrez
reneph schrieb:
Hat hier vielleicht jemand Lust, mal anschaulich zu erklären, was Gradle überhaupt ist?

Hab mal gegoogelt, aber die Erklärungen wurden wohl für die geschrieben, die ohnehin wissen was das ist.
:)

Gruß
E.S.
 
Gradle ist ein Tool das verwendet wird um dein Projekt zu erstellen. Du kannst selber bestimmen wie es "aufgebaut" wird. Dies kann man mit Hilfe einer eigenen Sprache, die du dafür können musst. Den Sinn von dem hab ich selber nicht wirklich verstanden. Zu Beginn war es in Android Studio sehr nervig wegen Gradle, weil es ständig versucht hat Gradle Binaries zu downloaden die circa 50 MB groß waren.
 
Andrez schrieb:
Den Sinn von dem hab ich selber nicht wirklich verstanden.
Ant/Maven kennst du?

Du kannst natürlich auch Gradle unberührt lassen und dir Libraries von Hand herunterladen, dem Buildpath hinzufügen, etc. Ebenso kannst du auch per Hand die Versionsnummern verwalten (also das Hochsetzen bspw. des VersionsCodes) für jedes Release das du erstellen möchtest. Signieren, ProGuard, Release-APK builden, Unterscheidung zwischen Free-/Premiumapp (Flavors), usw. kannst du auch gerne alles von Hand machen ;)

Oder du verwendest Gradle und lässt diese Schritte (und noch mehr) automatisiert ablaufen und kriegst am Ende von deinem Build-Server ein fix und fertiges APK oder gar mehrere für die einzelnen Ausprägungen deiner App (Free mit Werbung, Free mit Werbung für Amazonappstore, Paid ohne Werbung mit extra Features ... und das alles aus einer einzigen Codebasis). Gradle ist (wie auch Ant/Maven) sinnvoll eingesetzt ein sehr mächtiges Tool, dass einem viele Schritte abnehmen kann :) Natürlich quält man sich damit anfangs herum und man kennt nicht jede Feinheit, aber nach ner Weile steigt man auch hinter die Gradlefeinheiten und ist froh darum, dass man die ganzen Sachen nicht mehr per Hand ablaufen muss ...

Das macht halt den Unterschied zwischen Hobbyentwicklung (für meine privaten Apps setz auch ich bspw. keinen dedizierten Buildserver mit Jenkins auf, bin aber froh über die Steuerung per Gradle), aber in der Firma müssen dank mehrerer Entwickler solche Sachen automatisiert laufen (Was glaubst du wie viel Zeit draufgehen würde, müsste jeder Entwickler Libraries von Hand einbinden bei seiner working-copy). Da muss/sollte jeder Commit entweder nochmal von einem zweiten Paar Augen kontrolliert werden oder/und automatisiert Testfälle/Builds/etc. ablaufen ob die Änderungen auch wirklich keine Auswirkungen auf andere Teile hat ... Was glaubst du was für ein Aufwand es wäre, wenn da ein Nutzer manuell einzelne Flags in den Klassen setzen müsste um zwischen den einzelnen Ausprägungen einer App unterscheiden zu können (der müsste ja jede Ausprägung einzeln manuell forcieren und ein APK builden ... bei gradle sag ich "Hau mir flavor x, flavor y und flavor z raus")


//EDIT: btw. ich würde behaupten ich setze Gradle (sowie ant/maven) selbst viel zu wenig ein bzw. kenn mich damit viel zu wenig aus ... aber so manche kleinen Kniffe machen das Arbeiten dann doch erheblich einfacher und deswegen kann ich nicht verstehen, dass jemand eine Aussage bringt wie sinngemäß "keine Ahnung was das bringen soll"
 
  • Danke
Reaktionen: Andrez
Danke für die nette Erläuterung :) im Team mit mehreren Entwicklern mag das sein, ich bin ein einzelner Hobbyentwickler der gerade mal die Android und Eclipse Grundlagen beherrscht, da kann man von diesem mächtigen Tool erschlagen werden xD trotzdem danke xD
Zurück zur Frage: hat jemand ein Eclipse PlugIn für Grandle? Oder lohnt es sich ohne viel Frust auf Android Studio umzusteigen?
 
kleinerkathe schrieb:
btw. ich würde behaupten ich setze Gradle (sowie ant/maven) selbst viel zu wenig ein bzw. kenn mich damit viel zu wenig aus ...

Dem kann ich nur zustimmen. Setze mich ehrlich gesagt damit auch viel zu wenig außeinander, aber ab und zu greif ich mal ganz nette Tricks bei G+ u.ä. auf, welche schon nicht schlecht sind (z.B. build configs/flavors, sodass man bspw. auch release und debug-Varianten zeitgleich aufm Handy installieren kann etc.).

Oder lohnt es sich ohne viel Frust auf Android Studio umzusteigen?
Tjoar manche manche meinen ja auf Android Studio verzichten zu müssen, weil Google vom produktiven Einsatz von Android Studio abrät. Mag auch richtig sein, aber die anfänglichen Wehwehchen sind weg und so sehe ich keinen Grund es nicht einzusetzen. Viele andere Entwickler setzen es auch schon längst produktiv ein und wollen es nicht mehr missen, mich eingeschlossen ;)

Mittlerweile gibt es für Gradle auch etwas mehr Unterstützung in der Android Studio IDE selbst. Im Project Structure Dialog findet man die wichtigsten Optionen für Gradle, sodass man da nicht alles in der build.gradle-Datei von Hand umfrickeln muss.
Auch wenn jetzt immer mit Updates von den Build Tools und damit einhergehend neuere Gradle-Versionen benötigt wurden, dann hat Android Studio mir zuletzt immer schön das angezeigt und mir angeboten, dass für mich zu "fixen"...
Aber versuch macht klug - probiers aus. Nur weil die einen es gut finden und nicht mehr missen wollen, heißt das ja nicht zwangsweise was für dich ;)
 
reneph schrieb:
(z.B. build configs/flavors, sodass man bspw. auch release und debug-Varianten zeitgleich aufm Handy installieren kann etc.).
Hättest du dazu etwas noch in deinen Lesezeichen? (ich hab das damals nicht weiter verfolgt, da mir das unterschiedliche Setzen des Contentproviders in der AndroidManifest + Umbenennung der Klasse zu viel Bastelei war ... vll. geht das jetzt ja anders/einfacher). Packagenamen ändern per Gradle war/ist einfach, aber den Spaß mit Klassen umbenennen und Bezeichnungen innerhalb Java-Code und in einer XML war mir dann doch zu viel Arbeit ...
 
Da es gerade zum Thema passt ;)

Kann ich gradle iwie sagen, das es all meine Build Typs auf einmal installieren ?

lg. Dagobert
 
Das Installieren macht ja afaik nicht gradle. Das compiliert doch nur. Aufs Gerät installieren tut Android Studio. Aber auch da wüsste ich nicht, dass es so eine Funktion gibt.
 
Ich kann doch bei Gradle mit nem install die apk aufs Gerät schieben.
Zumindest klappt das :D
nur wäre ein installAll oder so wünschenswert^^

lg. Dagobert
 
  • Danke
Reaktionen: reneph
Huch stimmt, sorry, hab nichts gesagt :) Danke ^^
 
So ich habe jetzt 3 Stunden auf der arbeit damit verbracht unser App Projekt mit gradle zu verbinden :D
Jetzt kann es wirklich fast jeder bauen, und zwar genau für das system was er haben möchte :D
Nur wäre es halt auch cool, wenn man mit einem Befehl alle Umgebungen (Sprich dev, live, staging) deployen kann auf dem Gerät^^

lg. Dagobert
 

Ähnliche Themen

J
  • JoEntwickler
Antworten
2
Aufrufe
663
JoEntwickler
J
Y
Antworten
0
Aufrufe
537
yunusX
Y
P
  • pagrf
Antworten
2
Aufrufe
893
deek
D
Zurück
Oben Unten