Usando le varianti di Gradle Build

introduzione

Una delle caratteristiche chiave di Android Studio è l'integrazione di Gradle come sistema di build Android. Mentre lo scopo generale di un sistema di build è quello di prendere il codice sorgente e costruire un file installabile per i tuoi utenti, un APK nel caso di Android, Gradle offre molte più funzionalità.

Gradle gestisce la gestione delle dipendenze, come i file JAR locali, i file .so nativi e le librerie ospitate su Maven. Consente inoltre una facile configurazione delle proprietà del progetto e consente agli sviluppatori di creare versioni diverse delle loro applicazioni in un modo abbastanza semplice. L'ultimo elemento, noto come varianti di costruzione, è ciò che imparerai in questo articolo.

1. Quali sono le varianti di costruzione?

Le varianti di build sono build specifici che puoi produrre da Gradle, basati su codice sorgente principale condiviso. Mentre un'app standard può avere un mettere a punto e pubblicazione tipo di build, è possibile espandere su questo aggiungendo dimensioni del sapore.

Le dimensioni degli aromi consentono di utilizzare la struttura delle cartelle del progetto per modificare il modo in cui le singole build appaiono e agiscono per gli utenti. Ciò consente agli sviluppatori di produrre facilmente più app simili con diversi stili e configurazioni.

2. Impostazione delle varianti di costruzione in Gradle

Puoi iniziare andando nel tuo progetto build.gradle file e aggiungendo a flavorDimensions oggetto all'interno del androidecostruire il nodo.

flavorDimensioni "numero", "colore"

Questo definisce quali dimensioni possono essere utilizzate dalle varianti di costruzione. Ogni build che produci deve avere un sapore del prodotto da ciascuna delle dimensioni. Ciò significa che se hai solo bisogno di una dimensione per le tue app, che è uno scenario comune, allora puoi cambiare la tua flavorDimensions linea per definire solo una dimensione.

Sotto il flavorDimensions definizione, è possibile definire il productFlavors. Per questo esempio, manterremo le cose semplici e definiremo due sapori per dimensione.

productFlavors blue applicationId "com.tutsplus.bluevariant" flavorDimension "color" green applicationId "com.tutsplus.greenvariant" flavorDimension "color" one flavorDimension "numero" two flavorDimension "numero

Ogni build che crei avrà bisogno di un unico ID applicazione per differenziarlo dalle altre build. Poiché qualsiasi applicazione che crei avrà almeno un sapore per ogni dimensione, dovrai solo definire il ID applicazione in ogni nodo per una dimensione.

Ora che hai definito tutto per le varianti di costruzione in build.gradle, puoi aprire il Costruisci varianti pannello nell'angolo in basso a sinistra di Android Studio per vedere quali varianti sono disponibili per la creazione.

Noterai che ogni aroma aggiunto aumenta il numero di varianti in modo esponenziale. Si noti inoltre che buildtypeS di mettere a punto e pubblicazione sono gettati nella matrice delle dimensioni.

3. Utilizzo della struttura del progetto

Mentre ora puoi installare diverse versioni della tua app, non c'è nulla che le distingua l'una dall'altra. Questo è il posto dove usi davvero il sistema di build Gradle a tuo vantaggio.

Gradle utilizza la struttura di cartelle di un progetto per determinare quali file verranno utilizzati per compilare un'app. Nella tua struttura del progetto sotto app / src /,vedrai il principale directory. Qui è dove vivono tutte le risorse e le risorse principali di Java. È possibile aggiungere ulteriori directory accanto principale per rispecchiare i sapori del prodotto delle tue app in modo da aggiungere risorse personalizzate per ogni variante di costruzione.

Qualsiasi risorsa che esiste in un aroma del prodotto che è anche definito in principale avrà automaticamente la precedenza.

Possiamo vederlo in azione guardando principali / res / valori / colors.xml. Se il tuo progetto non ha già un colorPrimary valore definito, andare avanti e definirlo. Se hai iniziato con un nuovo progetto vuoto da seguire insieme a questo articolo, dovresti vedere un valore predefinito di # 3F51B5. L'esecuzione dell'applicazione dovrebbe mostrare il colorPrimary valore come il colore per il Toolbar nell'app.

Se crei un nuovo colors.xml file sotto verde / src / valori /,puoi ignorare il colorPrimary attributo con un valore diverso. In questo caso, usiamo # 00FF00.

  # 00FF00 

Quando il tuo file viene creato e il colore è impostato, torna nel Costruisci varianti pannello in Android Studio e seleziona il oneGreenDebug costruire variante. È quindi possibile compilare ed eseguire tale variante dell'app.

Anche se la variante verde ha colorato la barra degli strumenti verde, le altre proprietà da principale non sono sovrascritti Questo ti permette di impostare le tue proprietà comuni in principale e cambia solo ciò che dovrebbe essere diverso.

Non funziona solo per i colori, ma puoi modificare tutto ciò che esiste all'interno delle cartelle delle risorse, come stringhe, stili, dimensioni e numeri interi. Se combinato con cartelle di risorse annotate, come Valori-xhdpi per dispositivi con densità di pixel più elevate, sarai in grado di controllare con precisione ciò che l'utente vede dalla tua app per assicurarti di avere la migliore esperienza possibile.

Come bonus aggiuntivo, dal momento che hai diversi ID applicazione valori impostati per ciascuna delle dimensioni del colore, è possibile installare più versioni della stessa app su un dispositivo.

Conclusione

Gradle è un potente strumento che non solo costruisce APK, ma ti permette di avere un controllo preciso sulla personalizzazione delle tue build. In questo articolo hai imparato come creare varianti di build della tua applicazione con risorse diverse in modo da poter produrre facilmente più app simili in una frazione del tempo necessario per crearne singolarmente.

Mentre Gradle è ancora un sistema di build abbastanza nuovo, ha già dimostrato che si tratta di un sistema di build incredibilmente utile che ogni sviluppatore Android dovrebbe essere a proprio agio con.