Afegiu qualsevol biblioteca GitHub a Android Studio, mitjançant Maven, JCenter i JitPack

Autora: Lewis Jackson
Data De La Creació: 13 Ser Possible 2021
Data D’Actualització: 1 Juliol 2024
Anonim
Afegiu qualsevol biblioteca GitHub a Android Studio, mitjançant Maven, JCenter i JitPack - Aplicacions
Afegiu qualsevol biblioteca GitHub a Android Studio, mitjançant Maven, JCenter i JitPack - Aplicacions

Content


Molt pocs projectes d’Android són una illa! La majoria dels projectes d'Android tenen dependència de diversos components, incloses les biblioteques Android de tercers.

Una biblioteca d'Android conté els mateixos fitxers que trobaríeu en un projecte Android habitual, com ara el codi font, els recursos i un manifest. Tanmateix, en lloc de compilar en un paquet Android (APK) que es pot executar en un dispositiu Android, una biblioteca es compila en un arxiu de codi que podeu utilitzar com a dependència del projecte. Aquestes biblioteques us ofereixen accés a una àmplia gamma de funcionalitats addicionals, incloses algunes de les funcions que no estan incloses a la plataforma Android de vainilla.

Un dels millors llocs per trobar biblioteques Android, és GitHub. Tot i això, no és sempre senzill obtenir una biblioteca des de la seva pàgina de GitHub i al vostre projecte, sobretot perquè hi ha diversos dipòsits diferents que els desenvolupadors poden utilitzar per distribuir els seus projectes GitHub, i no sempre serà evident quin repositori està fent servir un desenvolupador.


En aquest article, us mostraré com importar qualsevol biblioteca que descobriu a GitHub al vostre projecte Android, independentment de si voleu afegir la biblioteca com a dependència remota o com a dependència local.

Afegint dependències remotes

El sistema de creació Gradle d'Android Studio afegeix biblioteques al vostre projecte com a mòdul dependències. Aquestes dependències es poden ubicar en un dipòsit remot, com Maven o JCenter, o es poden emmagatzemar dins del vostre projecte, com a dependència local; només heu de comunicar a Gradle on es poden trobar aquestes dependències.

Afegir una biblioteca com a dependència remota és normalment la manera més ràpida i senzilla d’introduir el codi de la biblioteca al vostre projecte, per la qual cosa primer hem de mirar. Quan afegiu una biblioteca com a dependència remota, Gradle s’assegurarà que la dependència tingui tot el que necessita per poder executar-la, inclosa qualsevol transitiva dependències, de manera que normalment haureu d’afegir una biblioteca com a dependència remota, sempre que sigui possible.


Per afegir una dependència remota, haureu de proporcionar a Gradle dues dades:

  • El repositori Gradle ha de conèixer el dipòsit (o repositoris) on hauria de buscar la vostra biblioteca (o biblioteques). Les biblioteques Android solen distribuir-se a través de Maven Central o JCenter.
  • La instrucció de compilació. Inclou el nom del paquet de la biblioteca, el nom del grup de la biblioteca i la versió de la biblioteca que voleu utilitzar.

L’ideal seria que la pàgina de GitHub de la biblioteca us proporcionés tota aquesta informació. En realitat no sempre és així, però comencem amb el millor cas i suposem que la pàgina GitHub de la biblioteca inclou aquesta informació.

Afegir una dependència remota amb JCenter

StyleableToast és una biblioteca que us permet personalitzar cada part de les torrades d'Android, incloent el canvi de color de fons, el radi de la cantonada i el tipus de lletra i l'afegir icones. També proporciona tota la informació que necessiteu per afegir aquesta biblioteca al vostre projecte, a la secció dedicada a la "instal·lació". Aquí, podem veure que aquest projecte es distribueix a través de JCenter.

Quan creeu un projecte amb les últimes versions d'Android Studio, els fitxers build.gradle del vostre projecte ja estan configurats per donar suport a JCenter. Si obriu el fitxer build.gradle a nivell de projecte, veureu que JCenter ja està inclòs a la secció "allprojects / repositories":

allprojects {repositories {jcenter ()}}

Tingueu en compte que el fitxer build.gradle a nivell de projecte conté dos blocs "repositoris", però el bloc "buildscript / repositories" és el lloc on definiu com realitza Gradle aquesta creació. No heu d'afegir cap dependència de mòdul a aquesta secció.

Com que el vostre projecte ja està configurat per comprovar JCenter, l’únic que hem de fer és afegir la nostra declaració de compilació al fitxer build.gradle a nivell de mòdul.

Una vegada més, StyleableToast ens proporciona exactament la informació que necessitem; per tant, només has de copiar la declaració de compilació de la pàgina GitHub de StyleableToast i enganxar-la al fitxer Gradle:

dependències {compile com.muddzdev: styleabletoast: 1.0.8}

Sincronitzeu els vostres fitxers Gradle, bé si feu clic al banner "Sincronitza" o bé seleccioneu la icona "Projecte de sincronització amb fitxers Gradle" a la barra d'eines. Gradle consultarà el servidor JCenter per comprovar que existeix la biblioteca Styleabletoast i descarregar-ne tots els fitxers. Ja esteu preparats per començar a utilitzar aquesta biblioteca.

2. Afegint una dependència remota amb Maven Central

Alternativament, si la pàgina GitHub del projecte afirma que aquesta biblioteca es distribueix a través de Maven Central, haureu de dir-li a Gradle que revisi Maven Central.

Obriu el fitxer build.gradle a nivell de projecte i afegiu Maven Central al bloc "allprojects":

allprojects {repositories {mavenCentral ()}}

A partir d’aquí, la resta del procés és exactament el mateix: obriu el fitxer build.gradle a nivell de mòdul, afegiu la instrucció de compilació i sincronitzeu amb Gradle.

3. Afegint una dependència remota allotjada al seu propi servidor

De vegades, és possible que trobeu un projecte que encara es distribueix a través de JCenter o Maven Central, però el desenvolupador ha triat allotjar el seu projecte en el seu propi servidor. En aquest cas, la pàgina de GitHub del projecte us hauria de dir que utilitzeu una URL molt específica, per exemple, el dipòsit de Crashlytics Kit de Fabric es troba a https://maven.fabric.io/public.

Si veieu aquest tipus d’URL, haureu d’obrir el fitxer build.gradle a nivell de projecte i, després, declarar el dipòsit (en aquest cas, Maven) juntament amb l’URL exacte:

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

A continuació, podeu afegir la instrucció de compilació i sincronitzar els vostres fitxers amb normalitat.

Què passa si no puc trobar la declaració del repositori i / o la compilació?

Fins ara, érem optimistes i suposàvem que el projecte era GitHub sempre t’explica tota la informació que necessites saber. Malauradament, això no sempre és així, per tant, passem de l’escenari del cas òptim, al pitjor dels casos, i imagineu-vos que la pàgina de GitHub del projecte no us proporciona cap informació sobre el dipòsit i la recopilació de declaracions que heu d’utilitzar.

En aquest cas, podeu:

  • Utilitzeu JitPack.
  • Cloneu tot el dipòsit i importeu el codi al vostre projecte com a mòdul propi.

Utilitzant JitPack

JitPack és un dipòsit de paquets per a Git que permet afegir qualsevol projecte GitHub com a dependència remota. Mentre la biblioteca conté un fitxer de creació, JitPack pot generar tota la informació que necessiteu per afegir aquesta biblioteca al vostre projecte.

El primer pas és obrir el vostre fitxer build.gradle a nivell de projecte i afegir JitPack com a dipòsit:

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

A continuació, podeu utilitzar el lloc web de JitPack per generar una declaració de compilació, basada en l’URL de GitHub del projecte:

  • Al navegador web, aneu a la pàgina de GitHub de la biblioteca. Copieu el seu URL.
  • Dirigiu-vos al lloc web de JitPack.
  • Enganxeu l'URL al camp de cerca del lloc web i, a continuació, feu clic al botó que apareix al següent "Mira cap amunt".
  • Aleshores, la pàgina web mostrarà una taula de totes les versions d'aquesta biblioteca dividida en diverses pestanyes: Publicacions, comptes, branques i compromisos. Normalment, les publicacions solen ser més estables, mentre que la secció Compromís inclou els darrers canvis.

  • Un cop hàgiu decidit quina versió voleu fer servir, feu clic al botó que hi ha al costat "Obtenir-lo".
  • El lloc web s’ha d’actualitzar per mostrar la declaració exacta de compilació que heu d’utilitzar.

  • Copieu / enganxeu aquesta declaració de compilació al fitxer build.gradle a nivell de mòdul del vostre projecte.
  • Sincronitza els teus fitxers Gradle i ja estàs preparat per començar a utilitzar la biblioteca.

Clonació d’un projecte de GitHub

Alternativament, quan no esteu segurs del dipòsit i / o la declaració de recopilació de la biblioteca, pot ser que vulgueu fer-ho clon el projecte GitHub. La clonació crea una còpia del codi i recursos del projecte GitHub i emmagatzema aquesta còpia a la vostra màquina local. A continuació, podeu importar el clon al vostre projecte com a mòdul propi i utilitzar-lo com a dependència del mòdul.

Aquest mètode pot consumir molt de temps i la importació del codi complet del projecte pot causar conflictes amb la resta del vostre projecte. Tanmateix, la clonació us permet accedir a tot el codi de la biblioteca, de manera que aquest mètode és ideal si voleu personalitzar la biblioteca, per exemple, ajustant el seu codi per integrar-vos millor amb la resta del vostre projecte, o fins i tot afegir noves funcions (encara que si creieu que altres persones podrien beneficiar-se dels vostres canvis, potser voldreu contribuir a les millores al projecte).

Per clonar un projecte de GitHub:

  • Creeu un compte de GitHub.
  • Seleccioneu "Comanda des del control de versions" a la pantalla "Benvinguda" d'Android Studio.
  • Introduïu les vostres credencials de GitHub.
  • Obriu el navegador web, aneu al dipòsit de GitHub que voleu clonar i, a continuació, copieu / enganxeu el seu URL al diàleg d'Android Studio.
  • Especifiqueu el directori local on voleu emmagatzemar el dipòsit clonat.
  • Poseu un nom a aquest directori i, a continuació, feu clic a "Clon".

Ara teniu una còpia del codi de la biblioteca, podeu importar-la al vostre projecte Android com a mòdul nou:

  • Obriu el projecte on voleu utilitzar la biblioteca clonada i, a continuació, seleccioneu "Fitxer> Nou> Importar mòdul" a la barra d'eines d'Android Studio.
  • Feu clic al botó de tres punts i navegueu al dipòsit clonat. Seleccioneu aquest dipòsit i, a continuació, feu clic a "D'acord".
  • Feu clic a "Finalitzar".
  • Seleccioneu "Fitxer> Estructura del projecte" a la barra d'eines d'Android Studio.
  • Al menú de l'esquerra, seleccioneu el mòdul on voleu fer servir aquesta biblioteca.
  • Seleccioneu la pestanya "Dependències".

  • Seleccioneu la petita icona "+", seguida de "Dependència del mòdul".
  • Seleccioneu el vostre mòdul de biblioteca i, a continuació, feu clic a "D'acord".
  • Sortiu de la finestra "Estructura del projecte".

Depenent de la biblioteca que utilitzeu, potser haureu de fer alguns ajustaments al vostre codi importat abans de la compilació del vostre projecte. Per exemple, si la fitxa d'Android Studio està queixant-se de minSdkVersions incompatibles, les probabilitats que les API que utilitzeu la biblioteca no siguin compatibles amb les versions de la plataforma Android definida al fitxer build.gradle del vostre projecte. De la mateixa manera, si Android Studio es queixa del buildToolsVersion del vostre projecte, és possible que hi hagi un desajust entre la versió definida a la biblioteca i la versió definida en un altre lloc del projecte. En tots dos escenaris, haureu de comprovar els valors definits als fitxers build.gradle i canviar-los en conseqüència.

Resolució de problemes

Quan treballeu amb cap tipus de programari de tercers, com a regla general és més probable que tingueu problemes d'incompatibilitat, d'errors i tot això estrany comportament, en comparació amb quan utilitzeu una suite de programari desenvolupada pel mateix equip i on cada peça del trencaclosques va ser dissenyada específicament per treballar junts.

Si teniu problemes després d’afegir una biblioteca al vostre projecte, proveu les solucions següents:

  • Comproveu que no heu afegit accidentalment diverses versions de la mateixa biblioteca. Si Android Studio reporta un error de “diversos fitxers DEX defineixen…”, potser heu afegit la mateixa biblioteca al vostre projecte més d'una vegada. Podeu revisar les dependències del vostre mòdul seleccionant "Fitxer> Estructura del projecte" a la barra d'eines d'Android Studio, seleccionant el mòdul que voleu examinar i feu clic a la pestanya "Dependències". Si una biblioteca apareix en aquesta finestra diverses vegades, seleccioneu el duplicat i feu clic a la icona "-" petita per eliminar-la.
  • Cerca al web. Sempre hi ha la possibilitat que altres persones hagin trobat el mateix problema que tu, així que realitzeu una cerca ràpida a Google per veure si algú ha publicat aquest problema en fòrums o comunitats com Stackoverflow. Fins i tot, podeu tenir sort i trobar un bloc o un tutorial que inclogui instruccions sobre com resoldre aquest problema exacte.
  • Netegeu i reconstruïu el vostre projecte. De vegades, seleccioneu "Construir> Netejar projecte" a la barra d'eines d'Android Studio, seguida de "Construir> Reconstruir el projecte", pot ser suficient per solucionar el vostre problema.
  • I si la resta falla ... Fer que el programari de tercers funcioni correctament de vegades requereix una mica de prova i error, de manera que si hi ha un mètode alternatiu d’importació de la biblioteca escollida, sempre val la pena intentar-ho. El fet que el vostre projecte es negui a compilar després d’importar un dipòsit clonat, no vol dir que necessàriament tindrà la mateixa reacció si intenteu utilitzar la mateixa biblioteca com a dependència remota.

Embalatge

En aquest article, vam analitzar com podeu afegir qualsevol biblioteca que descobriu a GitHub, al vostre projecte Android, independentment de si aquesta biblioteca es distribueix a través de JCenter o Maven Central. I, fins i tot si no teniu ni idea de quin és el repositori o la declaració de compilació que heu d’utilitzar, sempre teniu l’opció d’utilitzar JitPack o clonar el codi de la biblioteca.

Heu descobert qualsevol gran llibreria Android a GitHub? Feu-nos-ho saber als comentaris a continuació!

Actualització, 19 de febrer (9:30 a.m. ET): Hem actualitzat aquet article amb un nou informe que afirma que el telèfon plegable de amung e vendrà amb el nom de amung Galaxy Fold....

amung ha augmentat el futur del telèfon plegable de de fa any, però a DC 2018 etem finalment un pa mé a prop. Durant la eva nota principal, amung va anunciar la eva nova tecnologia amun...

Publicacions