Fügen Sie Android Studio mithilfe von Maven, JCenter und JitPack eine beliebige GitHub-Bibliothek hinzu

Autor: Lewis Jackson
Erstelldatum: 13 Kann 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Fügen Sie Android Studio mithilfe von Maven, JCenter und JitPack eine beliebige GitHub-Bibliothek hinzu - Apps
Fügen Sie Android Studio mithilfe von Maven, JCenter und JitPack eine beliebige GitHub-Bibliothek hinzu - Apps

Inhalt


Sehr wenige Android-Projekte sind eine Insel! Die Mehrheit der Android-Projekte ist von einer Reihe anderer Komponenten abhängig, einschließlich Android-Bibliotheken von Drittanbietern.

Eine Android-Bibliothek enthält dieselben Dateien wie ein reguläres Android-Projekt, z. B. Quellcode, Ressourcen und ein Manifest. Anstatt jedoch in ein Android Package Kit (APK) zu kompilieren, das auf einem Android-Gerät ausgeführt werden kann, wird eine Bibliothek in ein Code-Archiv kompiliert, das Sie als Projektabhängigkeit verwenden können. Mit diesen Bibliotheken können Sie auf eine Vielzahl zusätzlicher Funktionen zugreifen, einschließlich einiger Funktionen, die in der Vanilla Android-Plattform nicht enthalten sind.

Einer der besten Orte, um Android-Bibliotheken zu finden, ist GitHub. Es ist jedoch nicht immer einfach, eine Bibliothek von der GitHub-Seite in Ihr Projekt zu laden, zumal es verschiedene Repositorys gibt, mit denen Entwickler ihre GitHub-Projekte verteilen können - und es ist möglicherweise nicht immer klar, welches Repository ein Entwickler verwendet!


In diesem Artikel werde ich Ihnen zeigen, wie Sie jede Bibliothek, die Sie auf GitHub entdecken, in Ihr Android-Projekt importieren, unabhängig davon, ob Sie die Bibliothek als Remote-Abhängigkeit oder als lokale Abhängigkeit hinzufügen möchten.

Remote-Abhängigkeiten hinzufügen

Das Gradle-Build-System von Android Studio fügt Ihrem Projekt Bibliotheken als Modul hinzu Abhängigkeiten. Diese Abhängigkeiten können sich entweder in einem Remote-Repository wie Maven oder JCenter befinden oder als lokale Abhängigkeit in Ihrem Projekt gespeichert werden. Sie müssen lediglich Gradle mitteilen, wo diese Abhängigkeiten zu finden sind.

Das Hinzufügen einer Bibliothek als Remote-Abhängigkeit ist in der Regel die schnellste und einfachste Methode, um den Code einer Bibliothek in Ihr Projekt zu integrieren. Dies ist also die Methode, die wir uns zuerst ansehen werden. Wenn Sie eine Bibliothek als Remoteabhängigkeit hinzufügen, stellt Gradle sicher, dass die Abhängigkeit über alles verfügt, was zur Ausführung erforderlich ist, einschließlich aller Abhängigkeiten transitiv Abhängigkeiten, daher möchten Sie in der Regel, wo immer möglich, eine Bibliothek als Remote-Abhängigkeit hinzufügen.


Um eine entfernte Abhängigkeit hinzuzufügen, müssen Sie Gradle zwei Informationen bereitstellen:

  • Das Repository. Gradle muss das Repository (oder die Repositories) kennen, in dem bzw. denen es nach Ihrer Bibliothek (en) suchen soll. Android-Bibliotheken werden in der Regel über Maven Central oder JCenter verteilt.
  • Die Kompilierungsanweisung. Dieser enthält den Paketnamen der Bibliothek, den Namen der Bibliotheksgruppe und die Version der Bibliothek, die Sie verwenden möchten.

Im Idealfall sollten Sie auf der GitHub-Seite der Bibliothek alle diese Informationen finden. In Wirklichkeit ist dies nicht immer der Fall, aber lassen Sie uns mit dem besten Szenario beginnen und davon ausgehen, dass die GitHub-Seite der Bibliothek diese Informationen enthält.

Hinzufügen einer Remote-Abhängigkeit mit JCenter

StyleableToast ist eine Bibliothek, mit der Sie jeden Teil der Toasts von Android anpassen können, einschließlich des Änderns der Hintergrundfarbe, des Eckenradius und der Schriftart sowie des Hinzufügens von Symbolen. Darüber hinaus finden Sie alle Informationen, die Sie zum Hinzufügen dieser Bibliothek zu Ihrem Projekt benötigen, im entsprechenden Abschnitt "Installation". Hier sehen wir, dass dieses Projekt über JCenter verteilt wird.

Wenn Sie ein Projekt mit den neuesten Versionen von Android Studio erstellen, sind die build.gradle-Dateien Ihres Projekts bereits für die Unterstützung von JCenter eingerichtet. Wenn Sie Ihre build.gradle-Datei auf Projektebene öffnen, sehen Sie, dass JCenter bereits im Abschnitt "allprojects / repositories" enthalten ist:

allprojects {repositories {jcenter ()}}

Beachten Sie, dass die build.gradle-Datei auf Projektebene zwei "Repositorys" -Blöcke enthält. Im Block "buildscript / repositorys" definieren Sie jedoch, wie Gradle diesen Build ausführt. Sie sollten diesem Abschnitt keine Modulabhängigkeiten hinzufügen.

Da Ihr Projekt bereits für die Prüfung von JCenter konfiguriert ist, müssen wir nur unsere Kompilierungsanweisung zur build.gradle-Datei auf Modulebene hinzufügen.

StyleableToast liefert uns wieder genau die Informationen, die wir benötigen. Kopieren Sie also einfach die Kompilierungsanweisung von StyleableToasts GitHub-Seite und fügen Sie sie in Ihre Gradle-Datei ein:

Abhängigkeiten {compile com.muddzdev: styleabletoast: 1.0.8}

Synchronisieren Sie Ihre Gradle-Dateien, indem Sie entweder auf das Banner "Synchronisieren" klicken oder auf das Symbol "Projekt mit Gradle-Dateien synchronisieren" in der Symbolleiste klicken. Anschließend fragt Gradle den JCenter-Server ab, um zu überprüfen, ob die Styleabletoast-Bibliothek vorhanden ist, und lädt alle zugehörigen Dateien herunter. Sie können jetzt mit der Verwendung dieser Bibliothek beginnen!

2. Hinzufügen einer Remote-Abhängigkeit mit Maven Central

Wenn auf der GitHub-Seite des Projekts angegeben ist, dass diese Bibliothek über Maven Central verteilt wird, müssen Sie Gradle anweisen, stattdessen Maven Central zu überprüfen.

Öffnen Sie Ihre build.gradle-Datei auf Projektebene und fügen Sie Maven Central zum Block "allprojects" hinzu:

allprojects {repositories {mavenCentral ()}}

Von hier aus ist der Rest des Prozesses genau der gleiche: Öffnen Sie die build.gradle-Datei auf Modulebene, fügen Sie die Kompilierungsanweisung hinzu und synchronisieren Sie sie mit Gradle.

3. Hinzufügen einer Remote-Abhängigkeit, die auf einem eigenen Server gehostet wird

Gelegentlich kann es vorkommen, dass Sie auf ein Projekt stoßen, das noch über JCenter oder Maven Central verteilt wurde, aber der Entwickler hat sich dafür entschieden, sein Projekt auf seinem eigenen Server zu hosten. In diesem Fall sollten Sie auf der GitHub-Seite des Projekts eine ganz bestimmte URL angeben, z. B. das Crashlytics Kit-Repository von Fabric unter https://maven.fabric.io/public.

Wenn Sie diese Art von URL sehen, müssen Sie Ihre build.gradle-Datei auf Projektebene öffnen und dann das Repository (in diesem Fall Maven) zusammen mit der genauen URL deklarieren:

Repositorys {maven {url https://maven.fabric.io/public}}

Anschließend können Sie die Kompilierungsanweisung hinzufügen und Ihre Dateien wie gewohnt synchronisieren.

Was ist, wenn ich das Repository und / oder die Kompilierungsanweisung nicht finden kann?

Bisher waren wir optimistisch und gingen davon aus, dass GitHub das Projekt ist immer sagt Ihnen alle Informationen, die Sie wissen müssen. Leider ist dies nicht immer der Fall. Wechseln wir also vom Best-Case-Szenario zum Worst-Case-Szenario und stellen Sie sich vor, dass die GitHub-Seite des Projekts keine Informationen zu dem Repository und der Compile-Anweisung enthält, die Sie verwenden müssen.

In diesem Szenario können Sie entweder:

  • Verwenden Sie JitPack.
  • Klonen Sie das gesamte Repository und importieren Sie den Code als eigenes Modul in Ihr Projekt.

JitPack verwenden

JitPack ist ein Paket-Repository für Git, mit dem Sie jedes GitHub-Projekt als Remote-Abhängigkeit hinzufügen können. Solange die Bibliothek eine Build-Datei enthält, kann JitPack alle Informationen generieren, die Sie zum Hinzufügen dieser Bibliothek zu Ihrem Projekt benötigen.

Der erste Schritt besteht darin, die build.gradle-Datei auf Projektebene zu öffnen und JitPack als Repository hinzuzufügen:

allprojects {repositories {maven {url https://jitpack.io}}}

Sie können dann die JitPack-Website verwenden, um eine Kompilierungsanweisung basierend auf der GitHub-URL des Projekts zu generieren:

  • Navigieren Sie in Ihrem Webbrowser zur GitHub-Seite der Bibliothek. Kopieren Sie die URL.
  • Besuchen Sie die JitPack-Website.
  • Fügen Sie die URL in das Suchfeld der Website ein und klicken Sie auf die zugehörige Schaltfläche "Nachschlagen".
  • Auf der Webseite wird dann eine Tabelle aller Versionen dieser Bibliothek angezeigt, die auf verschiedene Registerkarten aufgeteilt ist: Releases, Builds, Branches und Commits. In der Regel sind Releases stabiler, während der Abschnitt Commit die neuesten Änderungen enthält.

  • Wenn Sie sich für eine Version entschieden haben, klicken Sie auf die zugehörige Schaltfläche "Get It".
  • Die Website sollte aktualisiert werden, um die genaue Kompilierungsanweisung anzuzeigen, die Sie verwenden müssen.

  • Kopieren Sie diese Kompilierungsanweisung, und fügen Sie sie in die build.gradle-Datei auf Modulebene Ihres Projekts ein.
  • Synchronisieren Sie Ihre Gradle-Dateien und schon können Sie Ihre Bibliothek nutzen!

Klonen eines GitHub-Projekts

Wenn Sie sich nicht sicher sind, ob das Repository und / oder die Kompilierungsanweisung einer Bibliothek vorhanden sind, möchten Sie möglicherweise Klon das GitHub-Projekt. Durch das Klonen wird eine Kopie des gesamten Codes und der Ressourcen des GitHub-Projekts erstellt und diese Kopie auf Ihrem lokalen Computer gespeichert. Anschließend können Sie den Klon als eigenes Modul in Ihr Projekt importieren und als Modulabhängigkeit verwenden.

Diese Methode kann zeitaufwändig sein und das Importieren des gesamten Projektcodes kann zu Konflikten mit dem Rest Ihres Projekts führen. Durch das Klonen erhalten Sie jedoch Zugriff auf den gesamten Code der Bibliothek. Diese Methode ist daher ideal, wenn Sie die Bibliothek anpassen möchten, z. B. indem Sie den Code optimieren, um eine bessere Integration mit dem Rest Ihres Projekts zu erzielen, oder sogar neue Funktionen hinzufügen (obwohl Wenn Sie der Meinung sind, dass andere von Ihren Änderungen profitieren könnten, sollten Sie erwägen, Ihre Verbesserungen wieder in das Projekt einzubringen.

So klonen Sie ein GitHub-Projekt:

  • Erstelle einen GitHub Account.
  • Wählen Sie im Begrüßungsbildschirm von Android Studio die Option "Checkout from Version Control".
  • Geben Sie Ihre GitHub-Zugangsdaten ein.
  • Öffnen Sie Ihren Webbrowser, navigieren Sie zu dem GitHub-Repository, das Sie klonen möchten, und kopieren Sie die URL in den Android Studio-Dialog.
  • Geben Sie das lokale Verzeichnis an, in dem Sie das geklonte Repository speichern möchten.
  • Geben Sie diesem Verzeichnis einen Namen und klicken Sie auf "Klonen".

Nachdem Sie eine Kopie des Bibliothekscodes haben, können Sie diese Bibliothek als neues Modul in Ihr Android-Projekt importieren:

  • Öffnen Sie das Projekt, in dem Sie Ihre geklonte Bibliothek verwenden möchten, und wählen Sie in der Android Studio-Symbolleiste "Datei> Neu> Modul importieren" aus.
  • Klicken Sie auf die dreipunktige Schaltfläche und navigieren Sie zu Ihrem geklonten Repository. Wählen Sie dieses Repository aus und klicken Sie auf "OK".
  • Klicken Sie auf "Fertig stellen".
  • Wählen Sie in der Android Studio-Symbolleiste "Datei> Projektstruktur".
  • Wählen Sie im linken Menü das Modul aus, in dem Sie diese Bibliothek verwenden möchten.
  • Wählen Sie die Registerkarte "Abhängigkeiten".

  • Wählen Sie das kleine "+" und anschließend "Modulabhängigkeit".
  • Wählen Sie Ihr Bibliotheksmodul aus und klicken Sie auf "OK".
  • Verlassen Sie das Fenster "Projektstruktur".

Abhängig von der verwendeten Bibliothek müssen Sie möglicherweise einige Anpassungen an Ihrem importierten Code vornehmen, bevor Ihr Projekt kompiliert werden kann. Wenn sich der Tab "s" von Android Studio beispielsweise über inkompatible minSdkVersions beschwert, sind die von der Bibliothek verwendeten APIs möglicherweise nicht mit den in der build.gradle-Datei Ihres Projekts definierten Versionen der Android-Plattform kompatibel. Wenn sich Android Studio über die buildToolsVersion Ihres Projekts beschwert, besteht wahrscheinlich ein Konflikt zwischen der in der Bibliothek definierten Version und der an anderer Stelle in Ihrem Projekt definierten Version. In beiden Szenarien müssen Sie die in beiden build.gradle-Dateien definierten Werte überprüfen und entsprechend ändern.

Fehlerbehebung

Wenn Sie mit arbeiten irgendein Software von Drittanbietern. In der Regel treten Inkompatibilitäten, Fehler und allgemeine Probleme häufiger auf seltsam Verhalten im Vergleich zu einer Software-Suite, die vom selben Team entwickelt wurde und bei der jedes Puzzleteil speziell für die Zusammenarbeit entwickelt wurde.

Wenn Sie Probleme haben, nachdem Sie Ihrem Projekt eine Bibliothek hinzugefügt haben, versuchen Sie Folgendes:

  • Stellen Sie sicher, dass Sie nicht versehentlich mehrere Versionen derselben Bibliothek hinzugefügt haben. Wenn Android Studio den Fehler "Mehrere DEX-Dateien definieren ..." meldet, haben Sie möglicherweise dieselbe Bibliothek mehr als einmal zu Ihrem Projekt hinzugefügt. Sie können die Abhängigkeiten Ihres Moduls überprüfen, indem Sie in der Android Studio-Symbolleiste auf "Datei> Projektstruktur" klicken, das zu untersuchende Modul auswählen und auf die Registerkarte "Abhängigkeiten" klicken. Wenn eine Bibliothek mehrmals in diesem Fenster angezeigt wird, wählen Sie das Duplikat aus und klicken Sie auf das kleine "-", um es zu entfernen.
  • Durchsuche das Web. Es besteht immer die Möglichkeit, dass andere Personen auf dasselbe Problem gestoßen sind wie Sie. Führen Sie daher eine schnelle Google-Suche durch, um festzustellen, ob jemand in Foren oder Communitys wie Stackoverflow über dieses Problem geschrieben hat. Sie können sogar Glück haben und einen Blog oder ein Tutorial finden, das Anweisungen zur Behebung dieses Problems enthält.
  • Bereinigen und erstellen Sie Ihr Projekt neu. In manchen Fällen kann die Auswahl von "Erstellen> Projekt bereinigen" in der Android Studio-Symbolleiste und anschließend "Erstellen> Projekt neu erstellen" ausreichen, um Ihr Problem zu lösen.
  • Und wenn alles andere scheitert ... Die ordnungsgemäße Funktionsweise von Software von Drittanbietern erfordert manchmal einige Versuche. Wenn es also eine alternative Methode zum Importieren der von Ihnen ausgewählten Bibliothek gibt, lohnt es sich immer, sie auszuprobieren. Nur weil sich Ihr Projekt weigert, kompiliert zu werden, nachdem Sie ein geklontes Repository importiert haben, bedeutet dies nicht unbedingt, dass es die gleiche Reaktion hat, wenn Sie versuchen, dieselbe Bibliothek als Remote-Abhängigkeit zu verwenden.

Einpacken

In diesem Artikel haben wir uns angesehen, wie Sie jede Bibliothek, die Sie auf GitHub entdecken, zu Ihrem Android-Projekt hinzufügen können, unabhängig davon, ob diese Bibliothek über JCenter oder Maven Central verteilt wird. Und selbst wenn Sie keine Ahnung haben, welches Repository oder welche Kompilierungsanweisung Sie verwenden müssen, haben Sie immer die Möglichkeit, JitPack zu verwenden oder den Code der Bibliothek zu klonen.

Haben Sie tolle Android-Bibliotheken auf GitHub entdeckt? Lass es uns in den Kommentaren unten wissen!

Da Diplay it eine der empfindlichten und teuerten Teile eine martphone und kann leicht zerbrechen, wenn ie ein Gerät auf den Boden fallen laen. Um die Wahrcheinlichkeit zu minimieren, da die paie...

E it ungewöhnlich, da Google in der erten Jahrehälfte neue Handy heraubringt, aber genau da it bei Google I / O 2019 mit dem Pixel 3a und dem Pixel 3a XL paiert. Wer ein Flaggchiff-Kameraerl...

Heute Beliebt