Android grală

Gradle este un sistem de construcție automată, construit pe principiile lui Apache Ant și Apache Maven. Eclipse a folosit sistemul Ant, dar majoritatea dezvoltatorilor nu au observat chiar munca sa. Practic, capabilitățile sistemului au fost folosite în birouri pentru a automatiza diverse sarcini. În Android Studio, acest număr nu funcționează. Gradle vă însoțește în timpul dezvoltării în mod constant. La început, dacă ați trecut de Eclipse, Gradle este foarte enervant cu acțiunile dvs. Dar, mai târziu, veți aprecia confortul și poate chiar îl iubiți.







Gradle nu este o invenție pentru Android Studio, sistemul a fost dezvoltat mai devreme și a fost folosit în aplicații pentru Java, Scala și alte limbi.

Sistemul de construcție Gradle este foarte puternic și complex pentru a descrie în câteva cuvinte. Există cărți întregi despre asta. Comenzile din Gradle sunt text simplu utilizând sintaxa Groove pentru configurație. Dar nu trebuie să știm totul. Vom cunoaște sistemul și vom învăța cum să îl folosim.

Creați un proiect nou sau deschideți orice proiect existent din Android Studio și examinați structura proiectului.

În cele mai recente versiuni ale studioului, fișierele Gradle sunt alocate unui dosar separat Gradle Script. Deschide-l. Practic, ar trebui să fii interesat de fișierul build.gradle. care se referă la modul. Alături de acest fișier în paranteze se va scrie Module: app. Faceți dublu clic pentru al deschide, veți vedea că fișierul este un fișier text.

Există, de asemenea, un fișier build.gradle. care se referă la proiect. Dar ei lucrează mai rar. Deci există setări pentru depozit și Gradle în sine.

Înapoi la fișierul modulului, veți vedea o mulțime de informații interesante. De exemplu, puteți vedea setările pe care le-ați putea vedea în lista manifestată mai devreme - numere de versiune, numere SDK și așa mai departe. Făcând înainte, voi spune că aici puteți adăuga o singură linie de magie și biblioteca necesară în sine este descărcată de pe Internet și instalată în proiect. Frumusețe!

Cu toate acestea, revenim la dosarul rădăcină. În plus față de fișierele build.gradle, putem observa fișierele gradle.properties. settings.gradle și altele. Nu trebuie să le atingi.

S-ar putea să observați că structura fișierelor sa schimbat în comparație cu Eclipse. În folderul app este folderul src. iar dosarul ei este principal. în care folderul java. res și fișierul manifest. Noua structură îndeplinește mai bine cerințele Gradle pentru gestionarea fișierelor.

De exemplu, puteți crea foldere alternative cu resurse și utilizați build.gradle pentru a le conecta la proiect.

În acest exemplu, am indicat că există un nou director de prezentări în / src / main / împreună cu folderele java și res existente. În interiorul dosarului creat există încă două layout-uri și animații pentru foldere. care conțin fișiere de resurse.

Amintiți-vă că trebuie să evitați un conflict de nume atunci când fuzionați toate fișierele în timpul construcției.

Valoarea sourceSets spune Gradle care foldere să folosească. Această tehnică este folosită de programatori avansați. Nu vom folosi această tehnică pentru moment.

O altă caracteristică utilă este crearea de versiuni diferite ale aplicațiilor, de exemplu, o versiune demo și o versiune plătită. Un pic despre asta este spus aici.

Numărul versiunii aplicației și cerințele pentru versiunea Android sunt înregistrate în secțiunea defaultConfig. Dacă ați salvat versiunea veche a aplicației, puteți șterge datele de înregistrare din manifest. În opinia mea, există chiar și un indiciu corespunzător. Chiar dacă nu ștergeți aceste date în manifeste, atunci valorile din gradle.build au prioritate și vor suprascrie valorile din manifeste dacă nu se potrivesc.

Biblioteca este conectată într-o singură linie. De exemplu, trebuie să adăugați biblioteca Picasso:

În Android Studio 3.0, este utilizată o nouă versiune a lui Gradle, în care compilația este considerată depășită. În schimb, utilizați noua implementare.

Există o comandă similară care conectează biblioteca, care va fi utilizată doar pentru depanarea aplicației, iar în versiunea de lansare nu este necesară.

Apoi porniți sincronizarea și după câteva secunde biblioteca necesară apare în dosar, gata de utilizare. Biblioteca în sine este descărcată de la un depozit special JCenter. Acest depozit este utilizat în mod implicit și este înregistrat în buil.grada proiectului.

Puteți specifica un alt depozit, de exemplu, Maven Central.

Pe site-ul interesant de la Gradle, vă rugăm să găsiți imediat cea mai recentă versiune a bibliotecii prin căutare, în acest caz a fost căutată biblioteca Picasso.

Biblioteca poate fi conectată în mod vechi, folosind un fișier de borcan, dar această metodă este un lucru din trecut.

Fișierul trebuie să fie copiat într-un dosar / libs.

De asemenea, în fișierul Gradle, utilizați instrumentul ProGuard. Acesta poate trunchia, optimiza și obfuscirovat (face necitit) codul tău. Pentru ao activa, setați proprietatea minifyEnabled la true.

În fișierul specificat, trebuie să setați regulile pentru ProGuard. Eu însumi cu acest instrument nu funcționează, așa că nu vă pot spune mai multe.







De exemplu, puteți specifica clasele din fișier.

Orice modificare în fișier nu o salvează. De asemenea, trebuie să vă sincronizați. În partea de sus apare, de obicei, o bară galbenă cu linkul Sincronizare acum.

Setați numele APK la compilare

Puteți să vă specificați propriul nume când compilați proiectul. De exemplu, așa.

Obține numele MyName-1.0.12-release.apk

Comprimați APK-ul rezultat

În gradul 1.4, puteți comprima fișierul rezultat eliminând resursele neutilizate, inclusiv din biblioteci, cum ar fi serviciile Google Play.

Când construiți aplicația, puteți vedea linia:

O altă modalitate de a elimina resursele de configurare neutilizate. De exemplu, nu aveți nevoie de resurse localizate pentru toate limbile care sunt incluse în biblioteca de servicii Google Play sau Biblioteca de suport Android, etc. Lăsați numai limbile de care aveți nevoie. Poate că, de asemenea, nu doriți să acceptați rezoluțiile mdpi sau tvdpi în aplicația dvs. Putem instala limbile și permisiunile care sunt utilizate în aplicație, restul va fi exclus, ceea ce va reduce greutatea aplicației.

Clasă BuildConfig

În articol, LogCat a menționat o modalitate de a opri rapid jurnalizarea.

Esența următoarelor. Când creați variabile noi în blocurile defaultConfig sau buildTypes (depanare și lansare ramuri), Gradle creează o clasă specială numită BuildConfig. și puteți accesa aceste variabile.

De exemplu, adăugați o variabilă la defaultConfig

În Java, aceasta este echivalentă cu String YOUR_TOKEN = "ABRAKADABRA";

Acum ne putem referi la linia creată.

Creăm cod pentru a accesa pagina web.

Separați versiunile de depanare și finale

În aplicațiile variabile specialIdSuffix și versionNameSuffix, specificăm sufixe pentru a evita conflictul. Și în variabila resValue specificăm numele programului pentru depanare și versiuni finale, astfel încât dispozitivul să poată fi găsit pe dispozitiv. Nu uitați să ștergeți resursa de șir numele_aplicației în res / values ​​/ strings.xml. altfel veți primi o eroare la compilare. Acum puteți rula în siguranță aplicația cu noul cod, fără teama de a vă deteriora aplicația preferată.

Ascundeți informații secrete

Următoarele recomandări sunt mai potrivite pentru companii. Când se semnează o aplicație, trebuie să specificați o parolă, un depozit etc. Pentru a le evita să strălucească în studio, le puteți scrie în variabile și le puteți plasa în secțiunea signingConfigs. Serverul însuși găsește cheile corecte și le folosește în scripturile lor.

Generarea de coduri de autogenerare

Am găsit sfaturi, nu am aplicat-o singură. Nu este necesar să modificați manual versiunea aplicației în atributele versionCode și versionName. pot fi realizate prin variabile, iar ei înșiși vor fi înlocuiți în locul potrivit. Pentru un amator.

settings.gradle

Fișierul setare.grada constă, de obicei, dintr-o singură linie.

Aceasta înseamnă că aveți un proiect cu care să lucrați. Dacă conectați alte proiecte, vor apărea noi linii.

gradle.properties (Proprietăți proiect)

Câteva sfaturi pentru setarea gradle.properties.

Mod de executare paralel

Gradle-demon

Includerea daemonului Gradle pe calculator va da o creștere semnificativă a vitezei de construire.

Modul de configurare, dacă este necesar

Dacă proiectul utilizează mai multe module, puteți activa modul de configurare, dacă este necesar. Accelerarea va fi vizibilă cu un număr mare de module utilizate:

Modificați numărul de versiuni al bibliotecilor într-un singur loc

Foarte des, proiectul folosește biblioteci interdependente cu aceleași numere.

Puteți schimba rapid toate numerele printr-o variabilă. Pentru aceasta, utilizați secțiunea ext. care specifică numărul variabilei și versiunii. Apoi, în secțiunea dependențe, numărul versiunii este înlocuit cu numele variabilei

Rețineți că citatele simple sunt înlocuite cu ghilimele duble, iar $ indică un tip de șir.

O versiune extinsă cu variabile diferite într-o altă formă.

Dacă proiectul folosește mai multe module cu aceleași dependențe, atunci aceste înregistrări pot fi transferate la gradul de construire rădăcină. astfel încât să nu modificați numerele de versiune din fiecare modul.

Setări în Android Studio

Luați în considerare setările disponibile în Android Studio. Închideți proiectul curent pentru a vedea fereastra de pornire a studioului. În partea dreaptă, faceți clic pe Configurare. În fereastra următoare, selectați Setări. pentru a fi în fereastra de setări studio. În partea stângă, găsiți elementul Build, Execution, Deployment. apoi subpunctul Build Tools. subpunctul Gradle. În mod prestabilit, totul este curat, este specificată doar calea căii directorului de servicii. Acestea erau setările generale.

Acum, ia în considerare setările legate de proiect. Rulați orice proiect în Android Studio. Selectați Fișier | Setări. . Din nou, treceți prin elementele Build, Execution, Deployment | Construiți unelte Gradle. Veți vedea aproape aceeași fereastră cu mici modificări. Acum, câmpul Linked Gradle Projects nu va fi gol și vor apărea setări suplimentare. În mod prestabilit, utilizați Folosiți înfășurarea standard a coloanei.

Gradul de sarcină

În partea dreaptă a aplicației Android Studio există un tabel vertical Gradle. care pot fi desfășurate. Acesta conține o listă de sarcini, care efectuează Gradle atunci când lucrează cu proiectul curent. Puteți selecta oricare dintre aceste activități și faceți dublu clic pe el. Se pot distinge mai multe sarcini.

Aflați debug.keystore: MD5 și SHA1

Uneori trebuie să cunoașteți valorile debug.keystore. MD5 și SHA1. De obicei, acestea sunt primite prin linia de comandă. Dar acest lucru este lung și incomod, deoarece trebuie să vă amintiți toate argumentele. Există o cale mai ușoară. Deschideți fila Gradle. Faceți clic pe butonul săgeată Reîmprospătați toate proiectele Gradle. Apoi deschidem succesiv Sarcini | android și executați comanda SigningReport. În fereastra de execuție inferioară, veți vedea informațiile de care aveți nevoie.

Consola Gradle

Când se execută o sarcină Gradle, puteți vedea progresul din fereastra Consolei Gradle. Puteți să o deschideți utilizând fila Consola Gradle din partea dreaptă jos a studioului.

De asemenea, puteți porni sarcinile Gradle în fereastra Terminal.

Pictograma Project Sync with Files Files este în bara de instrumente. care ar trebui să fie folosite la editarea fișierelor Gradle. De obicei, studioul afișează, de asemenea, un mesaj de avertizare cu un link atunci când schimbă un fișier care face aceeași lucrare.

Adăugarea dependențelor prin interfața studioului

Acest articol descrie modul de a permite bibliotecii la proiect prin editarea fișierului build.gradle. Există o opțiune alternativă prin setarea de studio. Faceți clic dreapta pe numele modulului (app) și selectați Deschideți Setările modulului (F4 tasta de acces rapid). În partea dreaptă a ferestrei sunt file care afectează fișierul build.gradle. De exemplu, fila Dependențe cuprinde biblioteci de legătură.

Pentru a adăuga o nouă dependență, faceți clic pe semnul plus și selectați opțiunea dorită, de exemplu, dependența Bibliotecă. Se deschide o listă de biblioteci disponibile din repozitoriul Maven.

Lectură suplimentară

În exemplul de a lucra cu active în dosarul fișiere PDF folosit de interdicția de funcționare de compresie de fișiere, care are loc în mod implicit.

Problemele lui Gradle sunt o teorie pentru dezvoltarea generală.







Articole similare

Trimiteți-le prietenilor: