La gestione delle dipendenze in Android Studio è una delle caratteristiche più utili dell’IDE. Rispetto ai tempi in cui si programmava per Android con Eclipse e ADT, scaricare una libreria – piccola o grande che sia – nella versione desiderata ed integrarla nel progetto è sicuramente più semplice.
Aprendo il file build.gradle del nostro modulo applicativo è sufficiente inserire nel blocco dependencies lo strumento di cui si ha bisogno. La seguente dichiarazione, ad esempio, include la libreria Android Support Design Library:
dependencies {
...
...
compile 'com.android.support:design:25.1.0'
}
A seguito del comando compile vengono passati (in un’unica stringa concatenata con il simbolo due punti) il Group Id, l’artifact Id e la versione che nella terminologia di Gradle (ereditata da Maven) rappresentano, rispettivamente, l’identificativo dei produttori del software, il nome della libreria e la versione desiderata.
Gradle ha ereditato da Maven (entrambe grandi soluzioni per la build automation in Java) la modalità di gestione delle dipendenze che rende tutto il procedimento completamente trasparente al programmatore.
Ma da dove prende le librerie Gradle?
I repository ufficiali per Android sono due: JCenter, ospitato da bintray.com, e Maven Central, ospitato da sonatype.org. Il primo dei due è quello di default da alcuni anni. Possono contenere le medesime librerie ma restano pur sempre due contesti assolutamente indipendenti.
Il punto del nostro progetto che sancisce JCenter repository di default è il blocco nel file build.gradle principale in cui appare :
buildscript {
repositories {
jcenter()
}
...
...
}
Il metodo jcenter, come si può immaginare, fissa JCenter come repository ma, volendo, esiste anche il metodo mavencentral che incarica di questo ruolo Maven Central.
E’ possibile anche scegliere ulteriori repository da integrare utilizzando il metodo maven:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
La riga indicata nel precedente esempio integra nel progetto la gestione delle dipendenze tramite jitpack.io, altro famoso repository di progetti Java e Android.
Anche integrando un nuovo repository il soddisfacimento delle dipendenze si svolgerà come visto prima, con il comando compile nel nodo dependencies.
JCenter offre un’infinità di librerie molto utili ma la capacità di saper scegliere i propri repository e orientare il lavoro di Gradle è molto importante: come abbiamo visto, comunque, tutto viene offerto con poche direttive molto chiare.
Alla prossima!











No Responses to “Android Studio: da dove Gradle ottiene le librerie?”