The Ins og Outs av Gradle
58
Del
Del
Del
Dette Cyber mandag Envato Tuts + Kursene vil bli redusert til bare $ 3. Ikke gå glipp av.
Som den første IDE (Integrated Development Environment) dedikert utelukkende til Android, er Google-støttede Android Studio et spennende prospekt for Android-utviklere. Men det betyr også å få tak i noen ny teknologi, særlig Gradle bygge system.
Denne artikkelen får deg opp og kjører med Android nybyggings system, fra det grunnleggende om hva Gradle er og hva den gjør, til en grundig titt på noen av de viktigste Gradle filer, for å lære å gjennomføre og overvåke Gradle oppgaver.
Du vil også ta en nærmere titt på de ulike Gradle verktøy vinduer i Android Studio, og lære hvordan du legger til avhengigheter til et prosjekt, alle uten tidligere Gradle erfaring er nødvendig .
Det første trinnet i å få tak i Android nybyggings system er å forstå nøyaktig hva Gradle er og hvorfor inkludering i Android Studio er så gode nyheter for Android-utviklere.
< h2> 1. Hva er Gradle?
Gradle er en automatisert bygge verktøykasse som kan integreres i mange ulike miljøer, via plugins. I Android Studio, er Gradle integrering oppnås via treffende navnet Android Gradle plugin.
Hvis du aldri har brukt Gradle før, kan det virke som en frustrerende barriere for å komme når du vurderer å gjøre flyttingen til Android Studio. Imidlertid har Gradle mye å tilby til Android-utviklere, så det er vel verdt å investere litt tid til å lære ins og outs av Gradle. Her er bare noen av tingene du kan gjøre med Gradle.
Minimer Configuration Nødvendig for nye prosjekter
Gradle har et sett med standard konfigurasjonsinnstillinger som automatisk brukes på hvert prosjekt du oppretter i Android Studio. Hvis du utvikler et prosjekt som ikke holder seg til disse standardkonfigurasjonsregler, er lett å tilpasse Gradle.
Erklærer Prosjektavhengig
avhengigheter kan være moduler, JAR-filer eller bibliotekene, og de kan være plassert enten på det lokale filsystemet eller en ekstern server.
Test ditt prosjekt
Gradle genererer automatisk en test katalog og en test APK fra prosjektets test kilder og kan kjøre tester i løpet av byggeprosessen.
Generer Signerte APK
Hvis du legger all nødvendig informasjon, som keyPassword og keyAlias, til din Gradle bygge fil, kan du bruke Gradle å generere signert APK.
generere flere APK fra én modul
Gradle kan generere flere APK med annen pakke og bygge konfigurasjoner fra en enkelt modul. Denne funksjonen er spesielt nyttig for Android-utviklere, av flere grunner:
1. Støtter en rekke enheter
En stor del av å utvikle for Android-plattformen støtter så mange ulike Android-enheter og versjoner av Android-operativsystemet som mulig. Google Play-butikken har selv multi APK-støtte, slik at du kan lage flere versjoner av programmet, der hver versjon er rettet mot en annen konfigurasjon enhet, og tilbyr dem som en enkelt Play butikk notering.
Det er der Gradle kommer i . Du kan bruke Android nybyggings system for å generere flere APK varianter fra samme modul. Bare gi disse variantene samme pakke navn, og du kan laste dem opp til samme Google Play oppføring.
2. Tilby ulike versjoner av en App
Noen ganger vil du vil Når du oppretter et prosjekt i Android Studio genererer bygge systemet automatisk all nødvendig Gradle bygge filer. Siden du vil støte på det samme settet av Gradle filer hver gang du oppretter en Android Studio prosjekt, vil vi lage en enkel prøve prosjekt og deretter ta en nærmere titt på disse automatisk genererte filer Det første trinnet er å skape din prøveprosjektet. Gradle bygge filer bruker et Domain Specific Language eller DSL til å definere tilpassede bygge logikk og til å samhandle med Android-spesifikke elementer i Android plugin for Gradle. Android Studio-prosjekter består av ett eller flere moduler, som er komponenter som du kan bygge, teste og feilsøke uavhengig. Hver modul har sin egen build-fil, slik at hver Android Studio prosjekt inneholder to typer Gradle bygge filer: For å ta en titt på disse build.gradle filer, åpne Android Studio Project panel (ved å velge fanen Project) og utvide Gradle Scripts mappen. I vårt utvalg prosjektet, de to første elementene i listen er prosjektets øverste nivå og modulnivå bygge filer. Vår prøveprosjektet har bare en enkelt modul-nivå build-fil, men skjermbildet nedenfor gir deg en idé om hvordan Gradle Scripts mappen kan se etter et prosjekt med flere moduler . Hver Android Studio prosjektet inneholder et enkelt, toppnivå Gradle bygge fil. Dette build.gradle filen er det første elementet som vises i Gradle Scripts mappen og er tydelig merket Project. Mesteparten av tiden, vil du ikke trenger å gjøre noen endringer i denne filen, men det er likevel nyttig å forstå dens innhold og hvilken rolle den spiller i prosjektet. Nedenfor er en annotert versjon av en typisk topp build-fil. I tillegg til prosjektnivå Gradle bygge fil, Hver modul har en Gradle build-fil av sine egne. Nedenfor er en annotert versjon av en grunnleggende, modul-nivå Gradle bygge fil I tillegg til de build.gradle filer, inneholder Gradle Scripts mappen noen andre Gradle filer. Mesteparten av tiden vil du ikke nødt til å manuelt redigere disse filene som de vil oppdateres automatisk når du gjør eventuelle relevante endringer i prosjektet. Men er det en god idé å forstå hvilken rolle disse filene spille i prosjektet. Denne filen lar andre folk til å bygge din kode, selv om de har ikke Gradle installert på maskinen sin. Denne filen sjekker om den korrekte versjonen av Gradle er installert og laster ned den nødvendige versjonen hvis nødvendig. I vårt utvalg app, gradle-wrapper.properties inneholder følgende: Denne filen referanser alle moduler som utgjør prosjektet. Siden vår prøveprosjektet har en enkelt modul, er denne filen veldig grei som du kan se nedenfor Denne filen inneholder konfigurasjonsinformasjon for hele prosjektet. Det er tomt som standard, men du kan bruke et bredt spekter av eiendommer til prosjektet ved å legge dem til denne filen. Denne filen forteller Android Gradle plugin hvor den kan finne din Android SDK installasjon. For eksempel: Merk at local.properties inneholder informasjon som er spesifikk for lokal Nå som du er kjent med alle de automatisk genererte Gradle filer, er det på tide å flytte inn i samspill med Gradle bygge system. Den gode nyheten er at du kan samhandle med Gradle direkte fra Android Studio brukergrensesnittet. Rundt de vertikale og horisontale kanter av Andorid Studio er faner som kan åpnes ulike verktøy vinduer. I de neste par avsnitt, vil jeg introdusere deg til noen av Android Studios Gradle-spesifikke verktøy vinduer og vise hvordan de skal samhandle med Gradle bygge systemet via disse vinduene. Du kan bruke Gradle oppgaver vinduet for å bla gjennom og utføre de ulike oppgavene som er involvert i å sette sammen prosjektet i en kjørbar applikasjon. For å åpne Gradle oppgaver vinduet klikker du på kategorien Gradle langs høyre -Hand side av installasjonen din Android Studio. Hvis du har tilpasset din Android Studio brukergrensesnitt og kan ikke lenger finne kategorien Gradle, så kan du velge View > Verktøyet Windows > Gradle stedet. I oppgavene kategorien Gradle, dobbeltklikk prosjektet, etterfulgt av modulen. Du vil se en liste over alle Gradle oppgaver knyttet til denne modulen. Når du dobbeltklikker en oppgave i Gradle oppgaver vinduet, begynner det utførende og resultatet vises i en annen Gradle spesifikke vinduet, Gradle konsollen. Gradle Console viser resultatet av Gradle oppgaver som de utfører, sammen med eventuelle feilmeldinger eller advarsler. Hvis du vil åpne Gradle Console, velg fanen Gradle Console mot nederst til høyre på din IDE. Hvis du har tilpasset Android Studio brukergrensesnitt og kan ikke lenger finne denne kategorien kan du alltid velge View > Verktøyet Windows > Gradle Console i stedet. La oss ta Gradle Console for en snurr. I Gradle oppgaver vinduet, finn montere oppgave, som bygger en utgitt versjon av applikasjonen klar for distribusjon, og dobbeltklikk på den. Som montere oppgaven utfører, synes oppgaven sin produksjon i Gradle Console. Gradle Console vil da enten varsle deg om at prosjektet har bygget vellykket, eller det vil vise en "build failed" -melding sammen informasjon om hvorfor bygge din har sviktet. Du kan også kjøre Gradle oppgaver fra Android Studio integrerte Terminal. Hvis du vet nøyaktig hva Gradle oppgaven du ønsker å utføre, er Terminal vanligvis mye raskere og mer praktisk enn å bla gjennom lister over oppgaver i Gradle Console. For å åpne Terminal, klikker du på Terminal kategorien mot nederst til venstre på Android Studio, eller velg Vis > Verktøyet Windows > Gradle Console. Terminalen vil da åpne med den gjeldende katalogen allerede er valgt. Du kan deretter utføre Gradle oppgaver ved å skrive dem inn i Terminal og trykke enten på retur- eller Enter-tasten på tastaturet. I denne seksjonen vil vi utforske hvordan du kan bruke Gradle å administrere prosjektets modulavhengigheter, lokale binære avhengigheter og eksterne binære avhengigheter. Når det gjelder å legge avhengigheter til prosjektet, gir Gradle du flere alternativer Den aktuelle build.gradle filen vil da oppdateres automatisk Åpne build.gradle fil og legge til en ny build regel til avhengig nedleggelse. For eksempel, hvis du ønsket å legge til Google Play Services, prosjektets avhengig delen vil se omtrent slik ut: I prosjektpanelet, Ctrl + Klikk på modulen du vil legge avhengigheten til og velg Åpne Modulinnstillinger. Velg Avhengig kategorien, etterfulgt av + knappen i nedre venstre hjørne. Du kan velge fra følgende liste over alternativer: Du kan deretter angi mer informasjon om avhengighet du vil legge til i prosjektet. For eksempel, hvis du velger Bibliotek Dependency, viser Android Studio en liste over biblioteker for deg å velge mellom. Når du har lagt din avhengighet, sjekk din modul-nivå build.gradle fil. Det skal ha automatisk oppdatert til å inkludere den nye avhengighet. Denne artikkelen har introdusert til alle automatisk generert Gradle bygge filene du finner i en typisk Android Studio prosjektet, spesielt på øverste nivå og modulnivå Gradle bygge filer. Du har også lært hvordan de skal samhandle direkte med Gradle bygge systemet fra Android Studio brukergrensesnittet. Hvis du er interessert i å lære mer om Gradle, så vil du finne massevis av tilleggsinformasjon på Android-utvikler hjemmeside og på Gradle nettstedet.
å liste flere versjoner av appen i Play butikken, for eksempel hvis du tilbyr en gratis og en "Pro "versjon av programmet ditt. Igjen, kan du bruke Gradle å generere flere APK fra samme modul og gi hver APK en annen pakke navn. Deretter kan du laste opp hver APK til Play-butikken separat.
2. Utforske Gradle Files
Launch Android Studio.
Klikk på Start en ny Android Studio prosjektet.
Gi prosjektet et navn, angi et domene, og velg hvor prøven prosjektet skal lagres . Klikk på Neste.
Gradle Bygg filer
Top-Level Bygg Fil: Dette er hvor du vil finne konfigurasjonsmuligheter som er felles for alle modulene som utgjør prosjektet
Module-Level Build Fil:. Hver modul har sin egen Gradle bygge fil som inneholder modulspesifikke byggeinnstillingene. Du vil tilbringe mesteparten av tiden din redigering modulnivå build filen (e) i stedet for prosjektets øverste nivå build-fil.
Top-Level Gradle Bygg File
Buildscript {//Prosjekt-nivå Gradle bygge filer bruker buildscript å definere avhengig .//repositories {jcenter ()} //Denne filen er avhengig av jJCenter depotet .//avhengig {CLASSPATH 'com.android.tools.build:gradle:1.0.0'//Project er avhengig av versjon 1.0.0 av Android plugin for Gradle .//}} allprojects {//Definerer avhengigheter som kreves av søknaden .//repositories {jcenter ()}} //Søknad avhenger jCenter depotet .// Modul-nivå Gradle Bygg filer
gjelder plugin.. "Com.android.application '//Siden dette prosjektet er en Android-app, den build.gradle filen benytter Android plugin //android {//Følgende avsnitt konfigurerer alle prosjektets Android-spesifikke parametre, og forteller Gradle hvilken versjon av Android den skal bygge prosjektet med. Hvis du har utviklet Android-programmer før, følgende bør alle være kjent .//compileSdkVersion 21 //API prosjektet er rettet mot .//buildToolsVersion "21.1.1" ////Den versjonen av bygge verktøy du vil bruke .//defaultConfig {applicationId "com.example.jessica.myapplication" //Definerer programmets ID. Merk, tidligere versjoner av Android plugin brukt 'pakke' i stedet for 'applicationID.' //MinSdkVersion 16 //Minste API kreves av prosjektet .//targetSdkVersion 21 //Den versjonen av Android du utvikler din søknad om. //version en versjon "1.0"} buildTypes {utgivelsen {//'BuildTypes' styrer hvordan programmet er bygget og pakket. Hvis du ønsker å lage dine egne bygge varianter, må du legge dem til denne delen .//minifyEnabled sant //Gradle går ProGuard under byggeprosessen .//proguardFiles getDefaultProguardFile ('ProGuard-android.txt'), ' proguard-rules.pro '//Gjelder standard Proguard innstillingene fra Android SDK .//}}} avhengig {//erklærer avhengig for gjeldende modul .//kompilere fileTree (dir:' libs ', inkluderer: [' * .jar ']) //Selv om du kan legge til JAR-filer ved å samle dem individuelt, kan dette være tidkrevende hvis du har mange krukker. I dette eksemplet skal vi fortelle Gradle å legge alle JAR-filer i app /libs mappen .//kompilere 'com.android.support:appcompat-v7:21.0.3'//To skape flere avhengigheter, legge dem til den depencies nedleggelse .//}
Annet Gradle filer
gradle-wrapper.properties (Gradle Version)
distributionBase = GRADLE_USER_HOME //Bestemmer om den utpakkede wrapper fordelingen bør lagres i prosjektet, eller i Gradle brukerens hjemmekatalog .//distributionPath = wrapper /dists //Banen der Gradle distribusjoner som kreves av innpakningen er unzipped.//zipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\\://services.gradle.org/distributions/gradle-2.2.1-all.zip//The URL der den korrekte versjonen av Gradle bør lastes ned fra .// settings.gradle
inkludere. ': App' gradle.properties (Project Properties)
local.properties (SDK Location)
sdk.dir = /Users /jessica /Library /Android /SDK
installasjon av Android SDK. Det betyr at du ikke bør holde denne filen under kildekontroll.
3. Android Studio brukergrensesnitt
Gradle Oppgaver Window Anmeldelser
Gradle Console
Terminal
4. Legge Avhengig
Alternativ 1:. libs slippe filer i Prosjektets /katalog
Alternativ 2. : Endre build.gradle filen manuelt
avhengig {kompilere fileTree (dir: 'libs', inkluderer: ['* .jar']) kompilere 'com. google.android.gms: play-tjenester: 6,5 + '}
Alternativ 3:. Bruk Android Studio brukergrensesnitt
Bibliotek Dependency
Fil Dependency
Module Dependency
Konklusjon