Adăugați orice bibliotecă GitHub la Android Studio, folosind Maven, JCenter și JitPack

Autor: Lewis Jackson
Data Creației: 13 Mai 2021
Data Actualizării: 10 Mai 2024
Anonim
Adăugați orice bibliotecă GitHub la Android Studio, folosind Maven, JCenter și JitPack - Aplicaţii
Adăugați orice bibliotecă GitHub la Android Studio, folosind Maven, JCenter și JitPack - Aplicaţii

Conţinut


Foarte puține proiecte Android sunt o insulă! Majoritatea proiectelor Android au dependențe de o serie de alte componente, inclusiv de la terțe biblioteci Android.

O bibliotecă Android conține aceleași fișiere pe care le-ați găsi într-un proiect Android obișnuit, cum ar fi codul sursă, resursele și un manifest. Cu toate acestea, în loc să compileze într-un pachet Android (APK) care poate rula pe un dispozitiv Android, o bibliotecă compilează într-o arhivă de cod pe care o poți folosi ca dependență de proiect. Aceste biblioteci vă oferă acces la o gamă largă de funcționalități suplimentare, inclusiv unele funcții care nu sunt incluse în platforma Android vanilie.

Unul dintre cele mai bune locuri pentru a găsi biblioteci Android, este GitHub. Cu toate acestea, primirea unei biblioteci de pe pagina sa GitHub și în proiectul dvs. nu este întotdeauna simplă, mai ales că există mai multe depozite diferite pe care dezvoltatorii le pot utiliza pentru a distribui proiectele GitHub - și poate nu este întotdeauna evident ce depozit este folosit de un dezvoltator!


În acest articol, vă voi arăta cum să importați orice bibliotecă pe care o descoperiți pe GitHub în proiectul dvs. Android, indiferent dacă doriți să adăugați biblioteca ca o dependență la distanță sau ca o dependență locală.

Adăugarea de dependențe la distanță

Sistemul de construire Gradle de la Android Studio adaugă biblioteci proiectului dvs. ca modul dependențe. Aceste dependențe pot fi localizate într-un depozit la distanță, cum ar fi Maven sau JCenter, sau pot fi stocate în proiectul dvs., ca dependență locală - trebuie doar să anunțați Gradle unde poate găsi aceste dependențe.

Adăugarea unei biblioteci ca o dependență la distanță este, de obicei, cel mai rapid și simplu mod de a intra codul unei biblioteci în proiectul dvs., așa că aceasta este metoda pe care o vom analiza mai întâi. Când adăugați o bibliotecă ca o dependență la distanță, Gradle se va asigura că dependența are tot ceea ce trebuie pentru a putea rula, inclusiv orice tranzitiv dependențe, deci, de obicei, veți dori să adăugați o bibliotecă ca o dependență la distanță, acolo unde este posibil.


Pentru a adăuga o dependență la distanță, va trebui să furnizați Gradle două informații:

  • Depozitul. Gradle trebuie să cunoască depozitul (sau depozitele) unde ar trebui să caute biblioteca ta (sau bibliotecile). Bibliotecile Android tind să fie distribuite prin intermediul Maven Central sau JCenter.
  • Instrucțiunea de compilare. Acesta conține numele pachetului bibliotecii, numele grupului bibliotecii și versiunea bibliotecii pe care doriți să o utilizați.

În mod ideal, pagina GitHub a bibliotecii ar trebui să vă ofere toate aceste informații. În realitate, acest lucru nu este întotdeauna cazul, dar să începem cu cel mai bun caz de caz și să presupunem că pagina GitHub a bibliotecii include aceste informații.

Adăugarea unei dependențe la distanță cu JCenter

StyleableToast este o bibliotecă care vă permite să personalizați fiecare parte a toasturilor Android, inclusiv schimbarea culorii de fundal, raza colțului și fontul și adăugarea pictogramelor. De asemenea, oferă toate informațiile de care aveți nevoie pentru a adăuga această bibliotecă la proiectul dvs., în secțiunea dedicată „Instalare”. Aici, putem vedea că acest proiect este distribuit prin JCenter.

Când creați un proiect cu cele mai recente versiuni ale Android Studio, fișierele build.gradle ale proiectului dvs. sunt deja configurate pentru a accepta JCenter. Dacă deschideți fișierul build.gradle la nivel de proiect, veți vedea că JCenter este deja inclus în secțiunea „allprojects / repositories”:

allprojects {repositories {jcenter ()}}

Notă, fișierul build.gradle la nivel de proiect conține două blocuri „repository”, dar blocul „buildscript / repositories” este locul în care definiți modul în care Gradle realizează această compilare. Nu ar trebui să adăugați nicio dependență de modul la această secțiune.

Întrucât proiectul dvs. este deja configurat pentru a verifica JCenter, singurul lucru pe care trebuie să îl facem este să adăugăm instrucțiunea noastră de compilare la fișierul build.gradle la nivel de modul.

Încă o dată, StyleableToast ne oferă exact informațiile de care avem nevoie, așa că pur și simplu copiați instrucțiunea de compilare din pagina GitHub a lui StyleableToast și lipiți-o în fișierul dvs. Gradle:

dependencies {compile com.muddzdev: styleabletoast: 1.0.8}

Sincronizați fișierele dvs. Gradle, fie făcând clic pe bannerul „Sincronizați” sau selectând pictograma „Proiect sincronizați cu fișiere Gradle” din bara de instrumente. Gradle va interoga apoi pe serverul JCenter pentru a verifica dacă există biblioteca Styleabletoast și să descarce toate fișierele sale. Acum sunteți gata să începeți să utilizați această bibliotecă!

2. Adăugarea unei dependențe la distanță cu Maven Central

În mod alternativ, dacă pagina GitHub a proiectului afirmă că această bibliotecă este distribuită prin Maven Central, atunci va trebui să-i spui lui Gradle să verifice în schimb Maven Central.

Deschideți fișierul build.gradle la nivel de proiect și adăugați Maven Central la blocul „allprojects”:

allprojects {repositories {mavenCentral ()}}

De aici, restul procesului este exact același: deschideți fișierul build.gradle la nivel de modul, adăugați instrucțiunea de compilare și sincronizați cu Gradle.

3. Adăugarea unei dependențe la distanță găzduite pe propriul server

Ocazional, este posibil să întâlniți un proiect care este încă distribuit prin JCenter sau Maven Central, dar dezvoltatorul a ales să găzduiască proiectul lor pe propriul server. Când este cazul, pagina GitHub a proiectului ar trebui să vă spună să utilizați o adresă URL foarte specifică, de exemplu, depozitul Crashlytics Kit al Fabricului este localizat la https://maven.fabric.io/public.

Dacă vedeți acest tip de URL, atunci va trebui să deschideți fișierul build.gradle la nivel de proiect, apoi să declarați depozitul (în acest caz, Maven) împreună cu adresa URL exactă:

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

Puteți adăuga apoi instrucțiunea de compilare și sincronizați fișierele dvs. în mod normal.

Ce se întâmplă dacă nu pot găsi depozitul și / sau compilarea instrucțiunii?

Până acum, am fost optimiști și am presupus că GitHub a proiectului mereu îți spune toate informațiile pe care trebuie să le cunoști. Din păcate, acest lucru nu este întotdeauna cazul, deci treceți de la cel mai bun caz la cel mai rău caz, și imaginați-vă că pagina GitHub a proiectului nu vă oferă nicio informație despre depozitul și compilarea declarației pe care trebuie să o utilizați.

În acest scenariu, puteți:

  • Folosiți JitPack.
  • Clonați întregul depozit și importați codul său în proiectul dvs. ca modul propriu.

Folosind JitPack

JitPack este un depozit de pachete pentru Git care vă permite să adăugați orice proiect GitHub ca o dependență de la distanță. Atâta timp cât biblioteca conține un fișier de compilare, JitPack poate genera toate informațiile de care aveți nevoie pentru a adăuga această bibliotecă la proiectul dvs.

Primul pas este să deschideți fișierul build.gradle la nivel de proiect și să adăugați JitPack ca depozit:

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

Puteți utiliza apoi site-ul web JitPack pentru a genera o declarație de compilare, pe baza URL-ului GitHub al proiectului:

  • În browserul dvs. web, accesați pagina GitHub a bibliotecii. Copiați adresa URL.
  • Intrați pe site-ul web JitPack.
  • Lipiți URL-ul în câmpul de căutare al site-ului web, apoi faceți clic pe butonul „Căutare sus” însoțitor.
  • Pe pagina web va fi afișat apoi un tabel cu toate versiunile acestei biblioteci, împărțit pe diverse file: Comunicări, Construcții, Sucursale și Comenzi. De obicei, comunicatele tind să fie mai stabile, în timp ce secțiunea de angajare conține cele mai recente modificări.

  • După ce ați decis ce versiune doriți să utilizați, faceți clic pe butonul „Obțineți-l” însoțitor.
  • Site-ul web ar trebui să se actualizeze pentru a afișa declarația exactă de compilare pe care trebuie să o utilizați.

  • Copiați / inserați această declarație de compilare în fișierul build.gradle la nivel de modul.
  • Sincronizați fișierele dvs. Gradle și sunteți gata să începeți să utilizați biblioteca!

Clonarea unui proiect GitHub

În mod alternativ, atunci când nu sunteți sigur de depozitul și / sau declarația de compilare a unei biblioteci, este posibil să doriți clona proiectul GitHub. Clonarea creează o copie a tuturor codurilor și resurselor proiectului GitHub și stochează această copie pe mașina dvs. locală. Puteți importa apoi clona în proiectul dvs. ca modul propriu și să o utilizați ca dependență a modulului.

Această metodă poate dura foarte mult, iar importarea întregului cod al proiectului poate provoca conflicte cu restul proiectului. Cu toate acestea, clonarea vă oferă acces la tot codul bibliotecii, de aceea această metodă este ideală dacă doriți să personalizați biblioteca, de exemplu prin modificarea codului acesteia pentru a se integra mai bine cu restul proiectului dvs. sau chiar adăugarea de noi funcții (deși dacă simțiți că și alte persoane ar putea beneficia de modificările dvs., atunci poate doriți să luați în considerare contribuția îmbunătățirilor dvs. la proiect).

Pentru a clona un proiect GitHub:

  • Creați un cont GitHub.
  • Selectați „Finalizare din controlul versiunilor” din ecranul „Bun venit” al lui Android Studio.
  • Introdu-ți datele de acreditare GitHub.
  • Deschideți browserul web, navigați în depozitul GitHub pe care doriți să îl clonați, apoi copiați / inserați URL-ul acestuia în fereastra de dialog Android Studio.
  • Specificați directorul local în care doriți să stocați depozitul clonat.
  • Dați un nume acestui director, apoi faceți clic pe „Clonare”.

Acum aveți o copie a codului bibliotecii, puteți importa această bibliotecă în proiectul dvs. Android, ca un nou modul:

  • Deschideți proiectul în care doriți să utilizați biblioteca clonată, apoi selectați „Fișier> Nou> Import modul” din bara de instrumente Android Studio.
  • Faceți clic pe butonul cu trei puncte și navigați în depozitul dvs. clonat. Selectați acest depozit, apoi faceți clic pe „OK.”
  • Dați clic pe „Finalizați”.
  • Selectați „Fișier> Structura proiectului” din bara de instrumente Android Studio.
  • În meniul din stânga, selectați modulul în care doriți să utilizați această bibliotecă.
  • Selectați fila „Dependențe”.

  • Selectați pictograma „+”, urmată de „Dependența modulului”.
  • Selectați modulul dvs. de bibliotecă, apoi faceți clic pe „OK.”
  • Ieșiți din fereastra „Structura proiectului”.

În funcție de biblioteca pe care o utilizați, poate fi necesar să efectuați unele ajustări la codul dvs. importat înainte de compilarea proiectului. De exemplu, dacă fila „Studio” a lui Android Studio se plânge de minSdkVersions incompatibile, atunci șansele ca API-urile utilizate de bibliotecă să nu fie compatibile cu versiunile platformei Android definite în fișierul build.gradle al proiectului. În mod similar, dacă Android Studio se plânge de buildToolsVersion a proiectului dvs., atunci este probabil să existe o neconcordanță între versiunea definită în bibliotecă și versiunea definită în altă parte a proiectului. În ambele scenarii, va trebui să verificați valorile definite în ambele fișiere build.gradle și să le schimbați în consecință.

Depanare

Când lucrezi cu orice un fel de software terț, ca regulă generală, este mai probabil să întâmpinați incompatibilități, bug-uri și totul ciudat comportament, în comparație cu momentul în care utilizați o suită de software dezvoltată de aceeași echipă și în care fiecare piesă a puzzle-ului a fost concepută special pentru a lucra împreună.

Dacă aveți probleme după adăugarea unei biblioteci la proiectul dvs., încercați următoarele corecții:

  • Verificați dacă nu ați adăugat accidental mai multe versiuni ale aceleiași biblioteci. Dacă Android Studio raportează o eroare „mai multe fișiere DEX definesc…”, este posibil să fi adăugat aceeași bibliotecă proiectului dvs. de mai multe ori. Puteți revizui dependențele modulului dvs. selectând „Fișier> Structura proiectului” din bara de instrumente Android Studio, apoi selectând modulul pe care doriți să-l examinați și făcând clic pe fila „Dependențe”. Dacă în această fereastră apare o bibliotecă de mai multe ori, apoi selectați duplicatul și faceți clic pe pictograma „-” pentru a o elimina.
  • Cauta pe net. Există întotdeauna șansa ca alte persoane să fi întâmpinat aceeași problemă ca tine, așa că efectuați o căutare rapidă pe Google pentru a vedea dacă cineva a postat despre această problemă pe forumuri sau în comunități precum Stackoverflow. S-ar putea să ai noroc și să găsești un blog sau un tutorial care să includă instrucțiuni despre cum să rezolvi această problemă exactă.
  • Curățați și reconstruiți-vă proiectul. Uneori, selectarea „Construire> Curățare proiect” din bara de instrumente Android Studio, urmată de „Construire> Reconstruire proiect”, poate fi suficientă pentru a vă rezolva problema.
  • Și dacă toate celelalte nu reușesc ... Utilizarea software-ului terțului funcționează corect necesită uneori un pic de încercare și eroare, așa că dacă există o metodă alternativă de importare a bibliotecii alese, atunci merită să încercați întotdeauna. Doar pentru că proiectul tău refuză să compileze după ce ai importat un depozit clonat, nu înseamnă neapărat că va avea aceeași reacție dacă încerci să folosești aceeași bibliotecă ca o dependență de la distanță.

Înveliți

În acest articol, am analizat cum puteți adăuga orice bibliotecă pe care o descoperiți pe GitHub, la proiectul dvs. Android, indiferent dacă biblioteca respectivă este distribuită prin JCenter sau Maven Central. Și, chiar dacă nu aveți idee ce magazie sau declarație de compilare trebuie să utilizați, atunci aveți întotdeauna opțiunea de a utiliza JitPack sau de a clona codul bibliotecii.

Ați descoperit biblioteci Android grozave pe GitHub? Spuneți-ne în comentariile de mai jos!

Avem zvonuri credibile care ă ugereze că Nokia 9.1 PureView va fi un martphone capabil de 5G, care va fi lanat cândva în 2019. Urmărirea pentru Nokia 9 PureView, așa cum ugerează numele ău, ...

Nokia 9 PureView ete lanarea principală a HMD pentru 2019, dar a fot un dipozitiv detul de dezamăgitor. Între iliciul emblematic al anului trecut și o configurație polarizată a camerei penta, ar ...

Articole Noi