Che cos’è Gradle in Android Studio e come funziona

Condividi questo articolo:


Risposta breve

Gradle è un sistema di compilazione.

Risposta lunga

Prima di Android Studio usavi Eclipse per il tuo sviluppo e, probabilmente, non sapevi come costruire il tuo APK Android senza Eclipse.

Puoi farlo sulla linea di comando, ma devi imparare cosa fa ogni strumento (dx e AAPT) nell’SDK. Eclipse ci ha salvato tutti da questi dettagli fondamentali di basso livello, ma importanti, dandoci il proprio sistema di compilazione.

Ora, vi siete mai chiesti perché la cartella res è nella stessa directory della vostra cartella src?

È qui che entra in scena il sistema di compilazione. Il sistema di compilazione prende automaticamente tutti i file sorgente (.java o .xml), poi applica lo strumento appropriato (ad esempio, prende i file di classe .java e li converte in file .dex), e li raggruppa tutti in un unico file compresso – il nostro amato APK.

Questo sistema di compilazione utilizza alcune convenzioni: un esempio è quello di specificare la directory che contiene i file sorgente (in Eclipse è la cartella \src) o i file delle risorse (in Eclipse è la cartella \res).

Ora, per automatizzare tutti questi compiti, ci deve essere uno script; puoi scrivere il tuo sistema di compilazione usando lo scripting di shell in Linux o la sintassi dei file batch in Windows. Capito?

Gradle è un altro sistema di compilazione che prende le migliori caratteristiche da altri sistemi di compilazione e le combina in uno solo. È migliorato sulla base delle loro carenze. È un sistema di compilazione basato su JVM. Questo significa che puoi scrivere il tuo script in Java, che Android Studio utilizza.

Una cosa bella di Gradle è che è un sistema basato su plugin. Questo significa che se hai il tuo linguaggio di programmazione e vuoi automatizzare il compito di costruire qualche pacchetto (output come un file JAR per Java) dai sorgenti, allora puoi scrivere un plugin completo in Java o Groovy (o Kotlin, vedi qui), e distribuirlo al resto del mondo.

LEGGI ANCHE:  Riconoscimento delle immagini: Google Vision vs Microsoft Cognitive Services vs Amazon Rekognition vs Clarifai

Perché Google usa Gradle?

Google ha visto uno dei sistemi di compilazione più avanzati sul mercato e ha capito che si potevano scrivere script per conto proprio con poca o nessuna curva di apprendimento, e senza imparare Groovy o qualsiasi altro nuovo linguaggio. Così hanno scritto il plugin Android per Gradle.

Dovete aver visto i file build.gradle nel vostro progetto. Questo è dove potete scrivere script per automatizzare i vostri compiti. Il codice che hai visto in questi file è codice Groovy. Se scrivi System.out.println(“Hello Gradle!”); allora verrà stampato sulla tua console.

Cosa si può fare in uno script di compilazione?

Un semplice esempio è che devi copiare alcuni file da una directory all’altra prima che avvenga il processo di compilazione vero e proprio. Uno script di compilazione di Gradle può fare questo.

Altri sistemi di compilazione per altri linguaggi:

Ecco una spiegazione dettagliata di cosa sia Gradle e come usarlo in Android Studio.

Esplorare i file Gradle

Ogni volta che si crea un progetto in Android Studio, il sistema di compilazione genera automaticamente tutti i file di compilazione Gradle necessari.
File di compilazione Gradle

I file di build di Gradle usano un linguaggio specifico del dominio o DSL per definire la logica di build personalizzata e per interagire con gli elementi specifici di Android del plugin Android per Gradle.

I progetti di Android Studio sono composti da uno o più moduli, che sono componenti che puoi costruire, testare e fare il debug in modo indipendente. Ogni modulo ha il proprio file di build, quindi ogni progetto Android Studio contiene due tipi di file di build Gradle.

Top-Level Build File: Questo è dove troverai le opzioni di configurazione che sono comuni a tutti i moduli che compongono il tuo progetto.

LEGGI ANCHE:  Xcode per principianti : interfaccia (aggiornamento 2019)

Module-Level Build File: ogni modulo ha il suo file di build Gradle che contiene le impostazioni di build specifiche del modulo. Passerai la maggior parte del tuo tempo a modificare i file di build a livello di modulo piuttosto che il file di build di primo livello del tuo progetto.

Per dare un’occhiata a questi file build.gradle, apri il pannello Progetto di Android Studio (selezionando la scheda Progetto) ed espandi la cartella Gradle Scripts. I primi due elementi nella cartella Gradle Scripts sono i file di build Gradle a livello di progetto e a livello di modulo

File di compilazione Gradle di primo livello

Ogni progetto Android Studio contiene un singolo file di build Gradle di primo livello. Questo file build.gradle è il primo elemento che appare nella cartella Gradle Scripts ed è chiaramente contrassegnato come Project.

La maggior parte delle volte, non avrai bisogno di fare alcuna modifica a questo file, ma è comunque utile capire il suo contenuto e il ruolo che gioca all’interno del tuo progetto.

File di compilazione Gradle a livello di modulo

Oltre al file di build Gradle a livello di progetto, ogni modulo ha un proprio file di build Gradle. Sotto c’è una versione annotata di un file di build Gradle di base a livello di modulo.

Altri file Gradle

Oltre ai file build.gradle, la tua cartella Gradle Scripts contiene alcuni altri file Gradle. La maggior parte delle volte non dovrai modificare manualmente questi file perché si aggiorneranno automaticamente quando farai delle modifiche rilevanti al tuo progetto. Tuttavia, è una buona idea capire il ruolo che questi file giocano all’interno del tuo progetto.

gradle-wrapper.properties (versione Gradle)

Questo file permette ad altre persone di costruire il tuo codice, anche se non hanno Gradle installato sulla loro macchina. Questo file controlla se la versione corretta di Gradle è installata e scarica la versione necessaria se necessario.

settings.gradle

Questo file fa riferimento a tutti i moduli che compongono il tuo progetto.

gradle.properties (Proprietà del progetto)

Questo file contiene informazioni di configurazione per il tuo intero progetto. E’ vuoto per default, ma puoi applicare una vasta gamma di proprietà al tuo progetto aggiungendole a questo file.

local.properties (Posizione SDK)

Questo file dice al plugin Android Gradle dove può trovare l’installazione dell’SDK di Android.

LEGGI ANCHE:  Come creare una RESTFUL API per la tua app (Velocemente)

Nota: local.properties contiene informazioni che sono specifiche dell’installazione locale dell’SDK Android. Questo significa che non dovresti tenere questo file sotto il controllo dei sorgenti.

Librerie

Possiamo aggiungere librerie Android o qualsiasi altra libreria di terze parti in aggiunta secondo le esigenze. È facile e prima era un compito noioso. Se la libreria non si adatta al progetto esistente, allo sviluppatore viene mostrato un registro dove la persona può trovare una soluzione appropriata per apportare modifiche al progetto in modo che la libreria possa essere aggiunta.

Generare varietà di build

Combinare i tipi di build per ottenere varianti di build

 ====================                         ====================
|     BuildTypes     |                       |   ProductFlavours  |
 --------------------  ====================== --------------------
|  Debug,Production  |      ||       ||      | Paid,Free,Demo,Mock|
 ====================       ||       ||       ==================== 
                            ||       ||
                            VV       VV
 =================================================================
|           DebugPaid, DebugFree, DebugDemo, DebugMock            |
|  ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
 =================================================================

Andrea Piani Administrator
Mi chiamo Andrea Piani, sono un programmatore specializzato nello sviluppo di App iOS e Android. Appassionato di elettronica e blockchain. Divulgatore tecnologico. Creatore della web agency Immaginet Srl (Udine) e di PrestaExpert Srl (Milano), aziende specializzate in Digital Marketing ed e-commerce.
follow me

Vuoi una consulenza a pagamento? Vuoi sviluppare un software per la tua attività? Hai bisogno di informazioni? Compila il modulo per contattarmi. Ti risponderò entro 24 ore.

Fill out my online form.

Iscriviti alla newsletter. Scegli la categoria che preferisci. Solo articoli esclusivi e di alta qualità che non trovi sul blog. Niente SPAM. Promesso!


Condividi questo articolo: