Aggiungi qualsiasi libreria GitHub ad Android Studio, utilizzando Maven, JCenter e JitPack

Autore: Lewis Jackson
Data Della Creazione: 13 Maggio 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Aggiungi qualsiasi libreria GitHub ad Android Studio, utilizzando Maven, JCenter e JitPack - Applicazioni
Aggiungi qualsiasi libreria GitHub ad Android Studio, utilizzando Maven, JCenter e JitPack - Applicazioni

Contenuto


Pochissimi progetti Android sono un'isola! La maggior parte dei progetti Android dipende da una serie di altri componenti, tra cui librerie Android di terze parti.

Una libreria Android contiene gli stessi file che potresti trovare in un normale progetto Android, come codice sorgente, risorse e Manifest. Tuttavia, invece di compilare un Kit pacchetto Android (APK) che può essere eseguito su un dispositivo Android, una libreria viene compilata in un archivio di codice che è possibile utilizzare come dipendenza del progetto. Queste librerie ti danno accesso a una vasta gamma di funzionalità aggiuntive, tra cui alcune funzionalità che non sono incluse nella piattaforma Android vanilla.

Uno dei posti migliori per trovare le librerie Android è GitHub. Tuttavia, ottenere una libreria dalla sua pagina GitHub e nel tuo progetto non è sempre semplice, soprattutto perché ci sono diversi repository che gli sviluppatori possono utilizzare per distribuire i loro progetti GitHub - e potrebbe non essere sempre ovvio quale repository sta utilizzando uno sviluppatore!


In questo articolo, ti mostrerò come importare qualsiasi libreria che scopri su GitHub nel tuo progetto Android, indipendentemente dal fatto che tu voglia aggiungere la libreria come dipendenza remota o come dipendenza locale.

Aggiunta di dipendenze remote

Il sistema di build Gradle di Android Studio aggiunge librerie al tuo progetto come modulo dipendenze. Queste dipendenze possono trovarsi in un repository remoto, come Maven o JCenter, oppure possono essere archiviate all'interno del progetto, come una dipendenza locale - devi solo far sapere a Gradle dove può trovare queste dipendenze.

L'aggiunta di una biblioteca come dipendenza remota è in genere il modo più rapido e semplice per ottenere il codice di una biblioteca nel tuo progetto, quindi questo è il metodo che vedremo per primo. Quando aggiungi una libreria come dipendenza remota, Gradle si assicurerà che la dipendenza abbia tutto ciò di cui ha bisogno per essere eseguita, incluso qualsiasi transitivo dipendenze, quindi in genere vorrai aggiungere una libreria come dipendenza remota laddove possibile.


Per aggiungere una dipendenza remota, devi fornire a Gradle due informazioni:

  • Il repository. Gradle deve conoscere il repository (o repository) dove dovrebbe cercare la tua libreria (o librerie). Le librerie Android tendono a essere distribuite tramite Maven Central o JCenter.
  • La dichiarazione di compilazione. Questo contiene il nome del pacchetto della libreria, il nome del gruppo della libreria e la versione della libreria che si desidera utilizzare.

Idealmente, la pagina GitHub della libreria dovrebbe fornire tutte queste informazioni. In realtà questo non è sempre il caso, ma iniziamo con lo scenario migliore e ipotizziamo che la pagina GitHub della biblioteca includa queste informazioni.

Aggiunta di una dipendenza remota con JCenter

StyleableToast è una libreria che ti consente di personalizzare ogni parte dei toast di Android, inclusa la modifica del colore di sfondo, del raggio dell'angolo e del carattere e l'aggiunta di icone. Fornisce inoltre tutte le informazioni necessarie per aggiungere questa libreria al progetto, nella sezione "Installazione" dedicata. Qui, possiamo vedere che questo progetto è distribuito tramite JCenter.

Quando crei un progetto con le ultime versioni di Android Studio, i file build.gradle del tuo progetto sono già configurati per supportare JCenter. Se apri il tuo file build.gradle a livello di progetto, vedrai che JCenter è già incluso nella sezione "tutti i progetti / repository":

allprojects {repositories {jcenter ()}}

Nota, il file build.gradle a livello di progetto contiene due blocchi "repository", ma il blocco "buildscript / repository" è il punto in cui definisci come Gradle esegue questa build. Non dovresti aggiungere alcuna dipendenza del modulo a questa sezione.

Poiché il tuo progetto è già configurato per controllare JCenter, l'unica cosa che dobbiamo fare è aggiungere la nostra istruzione di compilazione al file build.gradle a livello di modulo.

Ancora una volta, StyleableToast ci fornisce esattamente le informazioni di cui abbiamo bisogno, quindi copia semplicemente l'istruzione di compilazione dalla pagina GitHub di StyleableToast e incollala nel tuo file Gradle:

dipendenze {compilare com.muddzdev: styleabletoast: 1.0.8}

Sincronizza i tuoi file Gradle, facendo clic sul banner "Sincronizza" o selezionando l'icona "Sincronizza progetto con file Gradle" nella barra degli strumenti. Gradle interrogherà quindi il server JCenter per verificare l'esistenza della libreria Styleabletoast e scaricherà tutti i suoi file. Ora sei pronto per iniziare a utilizzare questa libreria!

2. Aggiunta di una dipendenza remota con Maven Central

In alternativa, se la pagina GitHub del progetto afferma che questa libreria è distribuita tramite Maven Central, dovrai invece dire a Gradle di controllare Maven Central.

Apri il tuo file build.gradle a livello di progetto e aggiungi Maven Central al blocco "allprojects":

allprojects {repositories {mavenCentral ()}}

Da qui, il resto del processo è esattamente lo stesso: apri il tuo file build.gradle a livello di modulo, aggiungi l'istruzione di compilazione e sincronizza con Gradle.

3. Aggiunta di una dipendenza remota ospitata sul proprio server

Occasionalmente, potresti incontrare un progetto che è ancora distribuito tramite JCenter o Maven Central, ma lo sviluppatore ha scelto di ospitare il proprio progetto sul proprio server. In questo caso, la pagina GitHub del progetto dovrebbe dirti di utilizzare un URL molto specifico, ad esempio il repository di Fabric's Crashlytics Kit si trova su https://maven.fabric.io/public.

Se vedi questo tipo di URL, dovrai aprire il file build.gradle a livello di progetto e quindi dichiarare il repository (in questo caso, Maven) insieme all'URL esatto:

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

È quindi possibile aggiungere l'istruzione di compilazione e sincronizzare i file normalmente.

Cosa succede se non riesco a trovare il repository e / o la dichiarazione di compilazione?

Fino ad ora, siamo stati ottimisti e abbiamo ipotizzato che GitHub del progetto sempre ti dice tutte le informazioni che devi sapere. Sfortunatamente questo non è sempre il caso, quindi passiamo dallo scenario del caso migliore allo scenario del caso peggiore e immaginiamo che la pagina GitHub del progetto non fornisca alcuna informazione sul repository e sull'istruzione di compilazione che è necessario utilizzare.

In questo scenario, puoi:

  • Usa JitPack.
  • Clonare l'intero repository e importare il suo codice nel progetto come modulo proprio.

Utilizzando JitPack

JitPack è un repository di pacchetti per Git che consente di aggiungere qualsiasi progetto GitHub come dipendenza remota. Finché la libreria contiene un file di build, JitPack può generare tutte le informazioni necessarie per aggiungere questa libreria al progetto.

Il primo passo è aprire il file build.gradle a livello di progetto e aggiungere JitPack come repository:

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

È quindi possibile utilizzare il sito Web JitPack per generare una dichiarazione di compilazione, basata sull'URL GitHub di quel progetto:

  • Nel tuo browser web, vai alla pagina GitHub della libreria. Copia il suo URL.
  • Vai al sito Web di JitPack.
  • Incolla l'URL nel campo di ricerca del sito Web e fai clic sul pulsante "Cerca" associato.
  • La pagina Web visualizzerà quindi una tabella di tutte le versioni di questa libreria, suddivisa in varie schede: rilasci, build, filiali e commit. In genere, le versioni tendono ad essere più stabili, mentre la sezione Commit contiene le ultime modifiche.

  • Una volta che hai deciso quale versione desideri utilizzare, fai clic sul relativo pulsante "Scarica".
  • Il sito Web deve essere aggiornato per visualizzare l'esatta istruzione di compilazione che è necessario utilizzare.

  • Copia / incolla questa istruzione di compilazione nel file build.gradle a livello di modulo del tuo progetto.
  • Sincronizza i tuoi file Gradle e sei pronto per iniziare a utilizzare la tua libreria!

Clonazione di un progetto GitHub

In alternativa, quando non si è sicuri del repository di una libreria e / o dell'istruzione di compilazione, si consiglia di farlo clone il progetto GitHub. La clonazione crea una copia di tutto il codice e le risorse del progetto GitHub e memorizza questa copia sul tuo computer locale. È quindi possibile importare il clone nel progetto come proprio modulo e utilizzarlo come dipendenza del modulo.

Questo metodo può richiedere molto tempo e l'importazione dell'intero codice di un progetto può causare conflitti con il resto del progetto. Tuttavia, la clonazione ti dà accesso a tutto il codice della libreria, quindi questo metodo è l'ideale se vuoi personalizzare la libreria, ad esempio modificando il suo codice per integrarsi meglio con il resto del tuo progetto, o anche aggiungendo nuove funzionalità (anche se se ritieni che altre persone potrebbero trarre vantaggio dai tuoi cambiamenti, allora potresti voler considerare di contribuire al miglioramento dei tuoi progetti).

Per clonare un progetto GitHub:

  • Crea un account GitHub.
  • Seleziona "Acquista da Controllo versione" dalla schermata "Benvenuto" di Android Studio.
  • Inserisci le tue credenziali GitHub.
  • Apri il tuo browser web, vai al repository GitHub che desideri clonare, quindi copia / incolla l'URL nella finestra di dialogo di Android Studio.
  • Specificare la directory locale in cui si desidera archiviare il repository clonato.
  • Assegna un nome a questa directory, quindi fai clic su "Clona".

Ora hai una copia del codice della libreria, puoi importare questa libreria nel tuo progetto Android, come un nuovo modulo:

  • Apri il progetto in cui desideri utilizzare la libreria clonata, quindi seleziona "File> Nuovo> Modulo di importazione" dalla barra degli strumenti di Android Studio.
  • Fai clic sul pulsante a tre punte e vai al tuo repository clonato. Seleziona questo repository, quindi fai clic su "OK".
  • Fai clic su "Fine".
  • Seleziona "File> Struttura del progetto" dalla barra degli strumenti di Android Studio.
  • Nel menu a sinistra, selezionare il modulo in cui si desidera utilizzare questa libreria.
  • Seleziona la scheda "Dipendenze".

  • Seleziona la piccola icona "+", seguita da "Dipendenza del modulo".
  • Seleziona il modulo della libreria, quindi fai clic su "OK".
  • Esci dalla finestra "Struttura del progetto".

A seconda della libreria che stai utilizzando, potrebbe essere necessario apportare alcune modifiche al codice importato prima che il progetto venga compilato. Ad esempio, se la scheda "Android" di Android Studio si lamenta di minSdkVersions incompatibili, è probabile che le API utilizzate dalla libreria non siano compatibili con le versioni della piattaforma Android definite nel file build.gradle del progetto. Allo stesso modo, se Android Studio si lamenta della buildToolsVersion del tuo progetto, è probabile che ci sia una discrepanza tra la versione definita nella libreria e la versione definita altrove nel tuo progetto. In entrambi questi scenari, dovrai controllare i valori definiti in entrambi i file build.gradle e modificarli di conseguenza.

Risoluzione dei problemi

Quando lavori con qualunque tipo di software di terze parti, come regola generale è più probabile che si verifichino incompatibilità, bug e all-around strano comportamento, rispetto a quando si utilizza una suite di software sviluppata dallo stesso team e in cui ogni pezzo del puzzle è stato appositamente progettato per funzionare insieme.

Se si verificano problemi dopo aver aggiunto una libreria al progetto, provare le seguenti correzioni:

  • Verifica di non aver accidentalmente aggiunto più versioni della stessa libreria. Se Android Studio segnala un errore "Più file DEX definiscono ...", è possibile che tu abbia aggiunto la stessa libreria al tuo progetto più di una volta. Puoi esaminare le dipendenze del tuo modulo selezionando "File> Struttura del progetto" dalla barra degli strumenti di Android Studio, quindi selezionando il modulo che si desidera esaminare e facendo clic sulla scheda "Dipendenze". Se una libreria appare più volte in questa finestra, seleziona il duplicato e fai clic sulla piccola icona "-" per rimuoverla.
  • Cercare in rete. C'è sempre la possibilità che altre persone abbiano riscontrato lo stesso problema, quindi esegui una rapida ricerca su Google per vedere se qualcuno ha pubblicato questo problema su forum o community come StackOverflow. Potresti anche essere fortunato e trovare un blog o un tutorial che include istruzioni su come risolvere questo problema esatto.
  • Pulisci e ricostruisci il tuo progetto. A volte, selezionando "Crea> Pulisci progetto" dalla barra degli strumenti di Android Studio, seguito da "Crea> Ricostruisci progetto", potrebbe essere sufficiente per risolvere il problema.
  • E se tutto il resto fallisce ... Far funzionare correttamente software di terze parti a volte richiede un po 'di tentativi ed errori, quindi se esiste un metodo alternativo per importare la libreria scelta, vale sempre la pena provare. Solo perché il tuo progetto si rifiuta di compilare dopo aver importato un repository clonato, non significa necessariamente che avrà la stessa reazione se provi a utilizzare quella stessa libreria come dipendenza remota.

Avvolgendo

In questo articolo, abbiamo esaminato come aggiungere qualsiasi libreria scoperta su GitHub al tuo progetto Android, indipendentemente dal fatto che tale libreria sia distribuita tramite JCenter o Maven Central. E, anche se non hai idea di quale repository o istruzione di compilazione devi usare, hai sempre la possibilità di usare JitPack o clonare il codice della libreria.

Hai scoperto delle ottime librerie Android su GitHub? Fateci sapere nei commenti qui sotto!

Aggiornamento n. 3: 22 maggio 2019 alle 17:42 ET: Un portavoce del braccio ha contattato fornire la dichiarazione ufficiale della ocietà in materia:...

Huami - la ocietà reponabile della linea di fitne tracker Xiaomi Mi Band, nonché della linea di martwatch e tracker Amazfit - ha recentemente condotto una telefonata trimetrale ugli utili. D...

Popolare