Eigene Libraries via JCenter Maven über Gradle verfügbar stellen

  • Antworten:4
  • Geschlossen
Ludy
  • Admin
  • Forum-Beiträge: 7.958

04.01.2016, 14:50:54 via Website

Disclaimer

Alles geschieht auf eigene Verantwortung, weder AndroidPit.de noch ich übernehmen Verantwortung für Schäden an Hard- und Software.
Das Tutorial ist nach bestem Wissen und Gewissen erstellt, sollten denn noch Fehler auftauchen werden sie natürlich korrigiert.


Einleitung + Übersicht

Langezeit hat mich das genervt das alle ihre Libs Open-Source Online haben und ich nicht. Aber nun habe ich mich doch ran getraut, dank Pascal wusste ich auch nach was ich suchen musste.

repositories {
    jcenter()
}

jcenter() muss als repositories(Quelle) gesetzt werden, damit wird Android Studio mitgeteilt aus welcher Quelle die Library gezogen werden soll.

dependencies {
    compile 'GROUPID:ARTIFACT:LIBVERSION'
}

Die Abhängigkeit (dependencies) wird in GROUPID, ARTIFACT und LIBRARYVERSION aufgebaut.

GROUPERID ist in den meisten Fällen eure Web-URL oder der ersteteil eures Package in umgekehrter Reihenfolge, genutzt werden kann auch eine fiktive Adresse, drauf achten das kein CopyRight oder sonstiges verletzt wird.
Bei mir wird aus astra-g.org dann org.astra_g, der Bindestrich muss leider durch einen Unterstrich ersetzt werden. :-(

ARTIFACT ist der Name oder Kürzel der Library.
In meinem Beispiel test_android.

LIBVERSION natürlich die Version :-)

— geändert am 30.04.2017, 23:44:16

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

pepperonasPascal P.

Ludy
  • Admin
  • Forum-Beiträge: 7.958

04.01.2016, 14:56:26 via Website

Erstere Schritte

Wir brauchen einen Account (kostenlos, gibt auch kostenpflichtige auf die ich hier nicht eingehe) auf https://bintray.com, es gibt die Möglichkeit sich über seine Email-Adresse anzumelden und die Möglichkeiten via https://GitHub.com, Twitter oder Google+, welche ihr nutzt ist egal.
Ihr erhaltet dann eine Mail, in der Ihr euren Account aktivieren müsst. GMail war der Meinung es sei Spam, also ruhig in den Spam-Ordner schauen ;-)
Nach der Aktivierung, einloggen.

User uploaded photo

Wir erstellen nun ein neues Package unter maven, hier zu auf maven gehen User uploaded photo
Bei Name wird der Name der Lib eingegeben, test_android
Ihr könnt noch eine Beschreibung schreiben, müsst Ihr aber nicht.
Licenses ganz wichtig, es wird ein Open-Source unter der Lizenz Apache-2.0. Was die einzelnen Lizenzen bedeuten wird hier nicht weiter erläutert.
Version control ist die Url, wo Ihr euer Projekt hostet in meinem Fall, https://github.com/Ludy87/test_android
Das war der Ersteschritt :-)

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

pepperonasPascal P.

Ludy
  • Admin
  • Forum-Beiträge: 7.958

04.01.2016, 15:19:24 via Website

Zweite Schritt

  1. Anpassen der build.gradle vom (!) Projekt (!) selber

    • Im Abschnitt buildscript -> dependencies kommt folgenes unter

           classpath 'com.android.tools.build:gradle:3.1.3' 
           classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
           classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
      

(!) Die Gradleversion kann abweichend sein. (!)


  1. Anpassen der build.gradle von der (!) Library (!)

    • unter apply plugin: 'com.android.library' kommt

      def versionsNumber = '1.2.3'
      // beschreibt die Versionsnummer und zugleich den Versionsnamen
      ext {
           bintrayRepo = 'maven'
           // darf nicht geändert werden
           bintrayName = 'test_android' 
           // der Name den wir bei maven eingetragen haben
      
           publishedGroupId = 'org.astra_g'
           // entspricht der GroupId von bintray.com
           libraryName = 'test_android'   
           // Name der Library
           artifact = 'test_android'
           // der Teil der hinter der org.astra_g kommt also von bei mir test_android
      
           libraryDescription = 'test_android ist eine Test Library und kann nichts'
           // Beschreibung
      
           siteUrl = 'https://github.com/Ludy87/test_android' 
           // die Übersichtsseite vom Projekt in github.com
           gitUrl = 'https://github.com/Ludy87/test_android.git'
           // Url zur Git-Resource 
      
           libraryVersion = versionsNumber
           // wurden von uns weiter Oben defeniert
           developerId = 'ludy'
           // Deinen Entwicklernamen oder -firma
           developerName = 'ludy'
           // Deinen Entwicklernamen oder -firma
           developerEmail = 'android-antispam@astra-g.org'
           // deine Email-Adresse wo der Nutzer uns schreiben kann
      
           licenseName = 'The Apache Software License, Version 2.0'
           // Name unter welche Lizenzvereinbarung wir veröffentlichen 
           licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
           // wo die Lizenz nachlesbar ist
           allLicenses = ["Apache-2.0"]
           // definierte Lizenz
      }
      

In der letzten Zeile kommt

 apply from: 'https://raw.githubusercontent.com/attwellBrian/JCenter/master/installv1.gradle'
 apply from: 'https://raw.githubusercontent.com/attwellBrian/JCenter/master/bintrayv1.gradle'

3 .Fast geschafft die local.properties im Projekt Ordner noch bearbeiten

  bintray.user=ludy

# Der registriert Username auf bintray.com

  bintray.apikey=f6d0063fccac89d4bfe2e68ea258aceffb68804d

# euren Api Key natürlich eintragen

Api Key findet ihr unter euren Profil, dazu auf Your Profile
User uploaded photo
1. auf Edit
- User uploaded photo
2. Ganz unten seht ihr API Key
- User uploaded photo
3. Auf show und schon habt ihr euren Key
- User uploaded photo

— geändert am 03.08.2018, 22:50:49

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

pepperonasPascal P.

Ludy
  • Admin
  • Forum-Beiträge: 7.958

04.01.2016, 15:29:04 via Website

Dritte Schritt

Hochladen des Projekts auf bintray.com

  1. Öffnet das Terminal in Android Studio
    User uploaded photo

    • Dort geben wir folgendes ein

      gradlew install
      

      wenn alles gut gelaufen ist kommt BUILD SUCCESSFUL, dann kommt

      gradlew bintrayUpload
      

      das sollte auch mit BUILD SUCCESSFUL enden


(!) In diesen Moment ist eure Bibliothek nun Online und könnte nun genutzt werden, aber immer noch etwas "umständlich". (!)

  repositories {
      maven {
            url 'https://dl.bintray.com/ludy/maven/'
      }
  }

  dependencies {
      compile 'org.astra_g:test_android:1.2.3'
  }

Wem es reicht kann natürlich hier aufhören.

— geändert am 04.01.2016, 15:29:29

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

pepperonasPascal P.

Ludy
  • Admin
  • Forum-Beiträge: 7.958

04.01.2016, 15:32:34 via Website

Vierte Schritt

Die freigabe auf jCenter beantragen, mit einem Klick auf Add to JCenter

User uploaded photo

Als letztes auf Send und warten bis die Bestätigung der Veröffentlichung kommt.

© Bilder und Text unterliegen dem Urheberrecht und dürfen nur mit Zustimmung weiterverbreitet werden.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

pepperonasPascal P.