Android Bibliothek von Git mit Gradle verknüpfen

  • Antworten:13
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 66

18.03.2015, 15:08:41 via Website

Hallo,

ich hätte da mal eine Frage.

Ich habe eine Bibliothek für Android geschrieben und diese liegt auf einem Git Repo.
Nun gibt es ja die Möglichkeit, Bibliotheken über Gradle direkt in einem Projekt einzubinden. (Über compile in den dependencies)

Das große Fragezeichen über meinem Kopf fragt, wie konfiguriere ich meine Bibliothek so, dass genau diese Funktion möglich ist? Wie kann jemand meine Bibliothek über compile in seinem Projekt einbinden?

Wonach muss ich am besten suchen? Welche Bücher wären gut um da dahinter zu kommen? Oder was ist der Weg dazu?

Jeder Hinweis wäre mir eine Riesen Hilfe.

Vielen Dank!

Gruß
BC

Antworten
  • Forum-Beiträge: 1.904

18.03.2015, 16:04:17 via App

Stichwort: Maven Repository.

Da lädst du die lib hoch. Dann in der build.gradle als Repository mavenCentral angeben. Danach geht compile blabla.

Edit: http://www.vandalsoftware.com/post/52468430435/publishing-an-android-library-aar-to-a-maven da wird gezeigt, wie man mit Gradle die lib hochlädt. Auch ganz schön 😀

— geändert am 18.03.2015, 16:08:08

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
  • Forum-Beiträge: 1.904

18.03.2015, 21:24:48 via App

Achso, ich dachte das wäre nur bei normalen Java Projekten so. jCenter kann für viele Sachen genutzt werden: du kannst selber hochladen und du kannst Maven durch jCenter noch weiter nutzen.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
  • Forum-Beiträge: 66

19.03.2015, 10:18:18 via Website

Okay super,

schon mal vielen Dank an euch 2, ich schaue mir die Links dann mal an.

Viele Grüße

Antworten
  • Forum-Beiträge: 66

19.03.2015, 12:08:41 via Website

Hallo noch mal,

also soweit so gut, bin der Anleitung gefolgt und habe alles in den Gradle Files eingebunden.
Nun habe ich die Sachen geuploaded, hat auch funktioniert und habe das ganze mit Maven verknüpft.

Jetzt wäre nur noch die Frage, wie kompiliere ich es nun in einem Projekt?
Dazu schreibt er nichts.
In den Kommentaren fragt einer danach, seine Antwort ist:
One you upload for the first time, you'll have to set your project as available to jCenter/Maven Central on BinTray site.

After that, anyone will be able to use your project with

compile '::'

You set those in the build.gradle.

Aber ich wüsste nicht wo ich die gesetzt hätte bzw. wo ic hdiese Ids etc finden kann.

Bzw. wüsste ich eventuell noch group und id, aber project id?

Gruß
BC

Antworten
  • Forum-Beiträge: 1.904

19.03.2015, 20:11:41 via App

Auf der maven Seite nach deinem Projekt suchen und dann da unter gradle steht das.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
  • Forum-Beiträge: 1.904

20.03.2015, 13:47:53 via App

Achso, ja dann da natürlich. Das müsste da aber auch genauso gehen.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
  • Forum-Beiträge: 66

23.03.2015, 12:03:56 via Website

Hallo,

mal noch eine andere Frage, da die Bibliothek ja eigentlich private sein soll,
gibt es keinen Weg direkt über unsere GitRepo zu fahren, anstatt alles nochmal bei Maven/JCenter zu verwalten?

Also ein gradle Befehl der mir mein persönliches Git Repo direkt in mein Projekt kompiliert? (So wie es auch bei CocoaPods geht?)

Gruß

BC

— geändert am 23.03.2015, 12:06:40

Antworten
  • Forum-Beiträge: 41

28.03.2015, 16:07:46 via Website

Wenn ich das richtig verstanden habe willst du die Bibliothek nicht öffentlich bereit stellen sondern nur selbst in einem anderem Projekt verwenden oder? Hier musst du unterscheiden ob es sich um 2 Projekte oder 2 Module handelt. Solltest du folgende Struktur haben:

Projekt
- Lib
- App

Dann kannst du über Gradle definieren dass die App das Lib Projekt einbezieht. Das würde ich sagen wäre auch der Way-2-To wenn die Lib spezifisch für eine App gedacht ist. Solltest du folgende Struktur haben

Projekt 1
- Lib
Projekt 2
- App

dann sieht die Sache etwas anders aus. Dann hast du 2 Möglichkeiten. Entweder du kompilierst die Lib und packst sie als Jar in das App Projekt. Dann musst du in Gradle unter Dependencies über die fileTree Anweißung auf die Jar referenzieren.
Oder du definierst als Repository mavenLocal() und "installierst" die Lib in dein lokales Maven Repository. Dann zieht es die App von dort.

Wenn du die App veröffentlichen willst, dann kannst du das tun was dir auch schon geraten wurde. jCenter, hochladen und referenzieren.

Ich hoffe ich konnte dir etwas helfen. :)

PS: Den Weg über das Git zu gehen würde ich absolut verneinen! Git ist eine Versionskontrolle, kein Repository um Bibliotheken zu beziehen. Hierfür gibt es Maven oder im Notfall das händische Einbinden der Jar. Mit solchen Doppellösungen würde ich gar nicht erst anfangen. Ist aber nur meine persönliche Meinung. :)

— geändert am 28.03.2015, 16:09:12

Antworten

Empfohlene Artikel