Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android Studio

I pro e contro di Gradle

by
Difficulty:BeginnerLength:LongLanguages:

Italian (Italiano) translation by Francesco Turlon (you can also view the original English article)

In quanto primo IDE (Integrated Development Environment) dedicato interamente ad Android, l'Android Studio di Google risulta un'interessante prospettiva per gli sviluppatori Android. Significa però mettersi alle prese con nuova tecnologia, in particolare il sistema di automazione di sviluppo (build system) Gradle.

Questo articolo vi permetterà di essere subito operativi con il nuovo build system Android, da cosa sia Gradle e cosa sia in grado di fare, fino ad uno sguardo approfondito ad alcuni dei file più importanti, per apprendere come eseguire e monitorare le attività Gradle.

Vedrete più da vicino i vari tools di Android Studio e imparerete come aggiungere dipendenze ad un progetto, tutto senza alcuna precedente esperienza di Gradle.

Il primo passo per mettervi alle prese con il nuovo build system di Android è comprendere esattamente cos'è Gradle e perché la sua implementazione in Android Studio sia una così grande notizia per gli sviluppatori Android.

1. Cos'è Gradle?

Gradle è un kit di automazione di sviluppo che può essere integrato in diversi ambienti, attraverso plugins. In Android Studio l'integrazione di Gradle viene raggiunta attraverso l'appropriatamente chiamato plugin Gradle Android.

Se non avete mai utilizzato Gradle prima, agli inizi potrebbe sembrare un ostacolo frustrante da superare. Gradle ha comunque molto da offrire agli sviluppatori Android, così sarà bene investire del tempo per imparare i suoi pro e contro. Andiamo a vedere di seguito alcune delle funzionalità di Gradle.

Minimizza la configurazione richiesta per nuovi progetti

Gradle ha un set di impostazioni di configurazione standard che vengono automaticamente applicate ad ogni progetto che create in Android Studio. Se state sviluppando un progetto che non segue queste regole di impostazione standard Gradle è semplice da impostare.

Dichiara le dipendenze di un progetto

Le dipendenze possono essere moduli, files JAR o librerie, e possono essere presenti sia in locale che in remoto.

Testa i vostri progetti

Gradle genera automaticamente una directory di test e un APK test dalle risorse di test del vostro progetto e può eseguirli durante il processo di sviluppo.

Genera APK firmati

Se aggiungete tutte le informazioni necessarie, come keyPassword e keyAlias, al vostro file di sviluppo Gradle, potrete usare Gradle per generare APK firmate.

Genera APK multiple da un singolo modulo

Gradle può generare molteplici APK con differenti configurazioni di package e build da un singolo modulo. Questa funzionalità è particolarmente utile per gli sviluppatori Android per molteplici ragioni:

1. Supporta un'ampia gamma di dispositivi

Gran parte dello sviluppo su piattaforma Android consiste nel supportare quanti più dispositivi e versioni possibili del sistema operativo Android. Anche il Google Play Store supporta diversi APK, in modo da creare molteplici versioni della vostra app, dove ogni versione ha come oggetto una diversa configurazione di dispositivo, poi distribuita come singola opzione all'interno del Play Store.

Qui è dove entra in gioco Gradle. Potete utilizzare il sistema di sviluppo Android per generare variazioni di APK multiple a partire dallo stesso modulo. Sarà sufficiente dare a queste varianti lo stesso nome (package name) e si potrà effettuare l'upload allo stesso elemento presente in Google Play.

2. Offre diverse versioni di un'App

A volte vorrete elencare molteplici versioni della vostra app all'interno del Play Store, ad esempio se offrirete una versione free e una "Pro" della stessa. Nuovamente, potrete utilizzare Gradle per generare APK multipli dallo stesso modulo e dare ad ogni APK un diverso package name. Potrete allora effettuare l'upload di ogni APK al Play Store separatamente.

2. Esplorando i files Gradle

Ogni volta che create un progetto in Android Studio il build system genera automaticamente tutti i files di Gradle necessari.

Dal momento che incontrerete lo stesso set di files Gradle ogni volta che creerete un progetto in Android Studio, creeremo un semplice progetto base e guarderemo poi da vicino questi files generati automaticamente.

Il primo passo sarà creare il progetto:

  1. Avviate Android Studio.
  2. Cliccate Start a new Android Studio project.
  3. Date al vostro progetto un nome, inserite un dominio e scegliete dove volete salvare il progetto. Cliccate Next.
  4. Assicuratevi che sia selezionato solo Phone and tablet, e accettate le impostazioni di default del Minimum SDK. Cliccate Next.
  5. Selezionate Blank Activity e cliccate Next.
  6. Mantenete le impostazioni di default e cliccate Finish.

Files di sviluppo Gradle

I files di sviluppo di Gradle utilizzano un Linguaggio Specifico di Dominio (Domain Specific Language o DSL) per definire la logica di sviluppo e interagire con gli elementi specifici del plugin Android per Gradle.

I progetti di Android Studio consistono in uno o più moduli, ovvero componenti, che puoi creare, testare e correggere (debug) indipendentemente. Ogni modulo ha il proprio file di sviluppo, così ogni progetto Android contiene due generi di file di sviluppo Gradle:

  • File di sviluppo livello-Top (Top-Level Build File): Qui è dove troverete le opzioni di configurazione comuni a tutti i moduli che compongono il vostro progetto.
  • File di sviluppo livello-Modulo (Module-Level Build File): Ogni modulo ha il proprio file di sviluppo Gradle che contiene informazioni di sviluppo specifiche al modulo. Spenderete molto del vostro tempo modificando file(s) di sviluppo Module-level piuttosto che file di sviluppo Top-level.

Per dare un'occhiata a questi build.gradle files aprite il pannello Project in Android Studio (selezionando la tab Project) ed espandendo la cartella Gradle Scripts. Nel nostro progetto i primi due elementi nella lista sono i vostri files di sviluppo Top-level e Module-level del progetto.

The first two items in the Gradle Scripts folder are the project-level and module-level Gradle build files

Il nostro progetto ha un singolo file Module-level, ma lo screenshot in basso vi dà un'idea di come la cartella Gradle Scripts appaia per un progetto con moduli multipli.

Example of how the Gradle Scripts folder looks for a multiple module project

File di sviluppo Gradle Top-Level

Ogni progetto Android Studio contiene un singolo file di sviluppo Top-level. Il file build.gradle è il primo elemento che appare nella cartella Gradle Scripts ed è chiaramente segnato come Project.

La maggior parte del tempo non avrete bisogno di apportare cambiamenti a questo file, ma è ancora molto utile capire il suo contenuto e il suo ruolo all'interno del progetto. Qui sotto vedrete una versione con note di un tipico file di sviluppo Top-level.

Files di sviluppo Gradle Module-level

In aggiunta al file di sviluppo project-level di Gradle, ogni modulo ha un proprio file di sviluppo Gradle. Qui sotto vedrete una versione con note di un semplice file di sviluppo Module-level

Altri files Gradle

In aggiunta ai files build.gradle, la cartella Gradle Scripts contiene altri files Gradle. La maggior parte del tempo non dovrete modificare manualmente questi files visto che verranno aggiornati automaticamente quando aggiungerete qualsiasi cambiamento rilevante al vostro progetto. Comunque è buona cosa capire il ruolo di questi files all'interno del vostro progetto.

gradle-wrapper.properties (Gradle Version)

Questo file consente ad altre persone di caricare il vostro codice anche se non hanno Gradle installato sulla propria macchina. Questo file controlla se è installata la corretta versione di Gradle ed effettua il download della versione corretta se necessario. Nella nostra applicazione gradle-wrapper.properties contiene:

settings.gradle

Questo file fa riferimento a tutti i moduli che strutturano il vostro progetto. Dal momento che il nostro progetto ha un singolo modulo questo file sarà molto semplicemente come lo vedete qui sotto.

gradle.properties (Project Properties)

Questo file contiene informazioni di configurazione per il vostro intero progetto. Di default è vuoto, ma potrete applicare un'ampia gamma di proprietà al progetto aggiungendola a questo file.

local.properties (SDK Location)

Questo file comunica al plugin Android di Gradle dove può trovare l'installazione del vostro SDK. Per esempio:

Notate che local.properties contiene informazione specifica all'installazione locale dell'SDK Android. Ciò significa che non dovreste tenere questo file nel sorgente.

3. Interfaccia Utente di Android Studio

Ora che avete familiarizzato con tutti i file di Gradle generati automaticamente è tempo di passare all'interazione con il Gradle build system. La buona notizia è che potrete interagire direttamente con Gradle dall'interfaccia utente di Android Studio.

Attorno al bordo verticale e orizzontale di Android Studio sono presenti delle tabs che aprono diversi tools a comparsa. Nelle ultime sezioni vi introdurrò alcuni dei tools a comparsa di Android Studio specifici di Gradle e vi mostrerò come interagire con il Gradle build system attraverso queste finestre.

Attività a comparsa di Gradle (Gradle Tasks Window)

Potrete utilizzare le attività a comparsa per consultare ed eseguire diverse attività coinvolte nella compilazione del vostro progetto in un file eseguibile.

Per aprire le attività a comparsa di Gradle cliccate la tab Gradle che trovate nel lato a destra della vostra installazione di Android Studio. Se avete modificato l'interfaccia grafica del vostro Android Studio e non riuscite più a trovare la tab Gradle, potrete selezionare View > Tool Windows > Gradle.

Nella tab delle attività di Gradle, cliccate due volte sul vostro progetto, seguito dal vostro modulo. Vedrete una lista di tutte le attività Gradle collegate a questo modulo.

Selezionate la tab Gradle per aprire le finestra delle attività di Gradle

Quando cliccate due volte un'attività nella finestra delle attività di Gradle, questa si avvia e l'output appare in un'altra finestra specifica di Gradle, la Gradle Console.

Gradle Console

La Gradle Console mostra l'output delle attività di Gradle dal momento in cui vengono eseguite, insieme a qualsiasi messaggio di errore o avvertimento.

Per aprire la Gradle Console, scegliete la tab Gradle Console nella parte in basso a destra del vostro IDE. Se avete modificato l'interfaccia del vostro Android Studio e non trovate più questa tab, potrete sempre scegliere il percorso View > Tool Windows > Gradle Console.

Facciamo un giro nel Gradle Console. Nella finestra delle attività di Gradle, troverete l'attività assemble, che crea una versione di rilascio della vostra applicazione pronta per la distribuzione, e cliccate due volte su di essa. Nel momento in un cui l'attività assemble viene eseguita, l'output dell'attività appare nel Gradle Console.

La Gradle Console vi notificherà se la build del vostro progetto è stata creata in modo corretto oppure mostrerà un messaggio "build failed" insieme al motivo per cui l'operazione non è andata a buon fine.

Example of the assemble task output in the Gradle Console

Terminal

Potrete eseguire le attività di Gradle dal Terminal integrato in Android Studio. Se sapete esattamente che attività di Gradle volete eseguire, il Terminal è generalmente più veloce e conveniente dello scegliere tra una lista di attività nel Gradle Console.

Per aprire il Terminal, cliccate la tab Terminal nella parte bassa a sinistra di Android Studio, o selezionate View > Tool Windows > Gradle Console. Il Terminal si aprirà allora con la directory corrente già scelta. Potrete allora eseguire le attività Gradle cliccando su di esse dal Terminal e premendo sia il tasto Return che il tasto Enter della vostra tastiera.

4. Aggiungere dipendenze

In questa sezione esploreremo come usare Gradle per amministrare le diverse dipendenze del vostro progetto (module, local binary e remote binary).

Quando si tratta di aggiungere dipendenze al vostro progetto Gradle vi mette a disposizione diverse opzioni.

Opzione 1: Spostare Files nella directory libs/ del vostro progetto

Il file build.gradle verrà poi aggiornato automaticamente.

Opzione 2: Modificare manualmente il file build.gradle

Aprite il vostro file build.gradle e aggiungete una nuova regola alla sezione dipendenze. Per esempio, se vorrete aggiungere Google Play Services, la sezione dipendenze del vostro progetto assomiglierà a qualcosa del genere:

Opzione 3: Utilizzare l'interfaccia grafica di Android Studio

Nel pannello Project, eseguite un Control+Click del modulo cui volete aggiungere le dipendenze e selezionate Open Module Settings.

Add a dependency via the Android Studio UI

Selezionate la tab Dependencies, seguita dal bottone + nell'angolo in basso a sinistra. Potrete scegliere tra le seguenti opzioni:

  • Library Dependency
  • File Dependency
  • Module Dependency

Potrete poi aggiungere più informazioni riguardo la dipendenza che volete aggiungere al vostro progetto. Per esempio, se volete scegliere Library Dependency, Android Studio mostrerà una lista di librerie da cui potrete scegliere.

Una volta che avrete aggiunto la vostra dipendenza, controllate il vostro file build.gradle (Module). Dovrebbe essersi aggiornato automaticamente per includere la nuova dipendenza.

Conclusioni

Questo articolo vi ha presentato tutti i file di sviluppo generati automaticamente da Gradle e che troverete tipicamente in un progetto Android Studio, soprattutto i files di sviluppo Top-level e Module-level. Avete inoltre imparato come interagire direttamente con il sistema di sviluppo Gradle dall'interfaccia grafica di Android Studio.

Se volete approfondire l'apprendimento di Gradle, troverete molte più informazioni sul sito degli sviluppatori Android e sul sito di Gradle.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.