Folosind variantele de construcție a lui Gradle

Introducere

Una dintre caracteristicile cheie ale aplicației Android Studio este integrarea sistemului Gradle ca sistem de construire Android. În timp ce scopul general al unui sistem de construcție este de a lua codul sursă și de a construi un fișier instalabil pentru utilizatorii dvs., un APK în cazul Androidului, Gradle oferă mult mai multă funcționalitate.

Gradle se ocupă de gestionarea dependenței, cum ar fi fișiere locale JAR, fișierele originale .so și bibliotecile găzduite pe Maven. De asemenea, permite configurarea ușoară a proprietăților proiectului și permite dezvoltatorilor să creeze diferite versiuni ale aplicațiilor lor într-un mod destul de simplu. Ultimul articol, cunoscut sub numele de variante de construcție, este ceea ce veți afla despre acest articol.

1. Ce sunt variantele de construcție?

Variantele de construcție sunt construite specifice pe care le puteți produce de la Gradle, bazate pe codul sursă partajat. În timp ce o aplicație standard poate avea a depanare și eliberare construi tipul, puteți extinde în acest prin adăugarea dimensiunile aromei.

Dimensiunile de aromă vă permit să utilizați structura de directoare a proiectului pentru a schimba modul în care construiți individuale și acționează pentru utilizatorii dvs. Acest lucru permite dezvoltatorilor să producă cu ușurință mai multe aplicații similare cu diferite stiluri și configurații.

2. Configurarea variantelor construite în gradul

Puteți începe prin a intra în proiectul dvs. build.gradle fișier și adăugarea unui fișier flavorDimensions element în interiorul Androidconstrui nod.

flavorDimensions "număr", "culoare"

Aceasta definește dimensiunile pe care le pot utiliza variantele de construire. Fiecare construcție pe care o produceți trebuie să aibă o aromă de produs din fiecare dimensiune. Aceasta înseamnă că, dacă aveți nevoie doar de o singură dimensiune pentru aplicațiile dvs., care este un scenariu comun, atunci vă puteți schimba flavorDimensions line pentru a defini doar o dimensiune.

Sub flavorDimensions definiție, puteți defini productFlavors. Pentru acest exemplu, vom păstra lucrurile simple și vom defini două arome pe dimensiune.

productFlavors albastru applicationId "com.tutsplus.bluevariant" flavorDimension "culoare" verde applicationId "com.tutsplus.greenvariant" flavorDimension "culoare" flavorDimension "

Fiecare construcție pe care o creați va avea nevoie de un unic applicationId pentru ao deosebi de celelalte. Deoarece orice aplicație pe care o construiți va avea cel puțin o aromă din fiecare dimensiune, trebuie doar să definiți applicationId în fiecare nod pentru o singură dimensiune.

Acum că ați definit totul pentru variantele voastre construite build.gradle, puteți deschide Construiți variante panoului din colțul din stânga jos al aplicației Android Studio pentru a vedea ce variante sunt disponibile pentru a fi construite.

Veți observa că fiecare aromă pe care o adăugați crește numărul de variante exponențial. De asemenea, rețineți că buildTypes de depanare și eliberare sunt aruncate în matricea dimensiunilor.

3. Utilizarea structurii proiectului

În timp ce acum puteți instala diferite versiuni ale aplicației, nu există nimic care să le distingă unul de celălalt. Acesta este locul unde puteți folosi sistemul de construcție Gradle în avantajul dvs..

Gradle utilizează structura de directoare a unui proiect pentru a determina ce fișiere vor fi utilizate pentru compilarea unei aplicații. În structura proiectului în cadrul app / src /,veți vedea principal director. Aici găsiți toate sursele Java și resursele de bază. Puteți adăuga și alte directoare principal pentru a reflecta arome de produs ale aplicațiilor dvs. pentru a adăuga resurse personalizate pentru fiecare variantă de construcție.

Orice resursă care există într-o aromă de produs care este, de asemenea, definită în principal va avea automat precedență.

Putem vedea acest lucru în acțiune, privindu-ne Principalele / res / valori / colors.xml. Dacă proiectul dvs. nu are deja a colorPrimary valoarea definită, continuați-o și definiți-o. Dacă ați început cu un nou proiect gol de urmat împreună cu acest articol, atunci ar trebui să vedeți o valoare predefinită # 3F51B5. Rularea aplicației ar trebui să afișeze colorPrimary valoare ca și culoare pentru Bara de instrumente în aplicație.

Dacă creați un nou colors.xml fișier în verde / src / valori /,puteți să ignorați colorPrimary atribut cu o valoare diferită. În acest caz, hai să folosim # 00FF00.

  # 00FF00 

Când fișierul dvs. este creat și culoarea este setată, reveniți în Construiți variante din aplicația Android Studio și selectați oneGreenDebug construi varianta. Puteți apoi să compilați și să executați această variantă a aplicației.

Chiar dacă varianta verde a colorat bara de instrumente verde, celelalte proprietăți din principal nu sunt suprasolicitate. Aceasta vă permite să vă configurați proprietățile comune în principal și schimba doar ceea ce ar trebui să fie diferit.

Nu numai că acest lucru funcționează pentru culori, dar puteți schimba orice există în folderele de resurse, cum ar fi șiruri de caractere, stiluri, dimensiuni și numere întregi. Atunci când sunt combinate cu foldere de resurse adnotate, cum ar fi Valori-xhdpi pentru dispozitive cu densitate mai mare de pixeli, veți putea controla în mod fin ceea ce văd utilizatorul din aplicația dvs. pentru a vă asigura că au cea mai bună experiență posibilă.

Ca un bonus suplimentar, deoarece aveți diferite applicationId valorile stabilite pentru fiecare dimensiune a culorii, puteți instala pe mai multe dispozitive mai multe versiuni ale aceleiași aplicații.

Concluzie

Gradle este un instrument puternic care nu numai că construiește fișiere APK, ci vă permite să aveți un control fin în ceea ce privește personalizarea construcțiilor. În acest articol, ați învățat cum să creați variante de construire ale aplicației dvs. cu resurse diferite, astfel încât să puteți produce cu ușurință mai multe aplicații similare într-o fracțiune din timpul necesar pentru a construi fiecare individual.

În timp ce Gradle este încă un sistem de construire destul de nou, el a demonstrat deja că este un sistem de construcție incredibil de util pe care fiecare dezvoltator Android ar trebui să îl facă confortabil.

Cod