Android fokla

A Gradle egy automatikus build rendszer, amely az Apache Ant és az Apache Maven elveire épül. Az Eclipse használta az Ant rendszert, de a legtöbb fejlesztő nem vette észre a munkáját. Alapvetően a rendszer képességeit az irodákban használták különböző feladatok automatizálására. Az Android Stúdióban ez a szám nem működik. Gradle folyamatosan kíséri Önt a fejlesztés során. Először is, ha átálltál az Eclipse-ről, Gradle nagyon bosszantó az Ön cselekedeteivel. De később értékelni fogja a kényelmet és talán még tetszik is.

A Gradle nem egy találmány az Android Stúdió számára, a rendszer korábban fejlesztett ki, és alkalmazásra került Java, Scala és egyéb nyelveken.

A Gradle építési rendszer nagyon hatékony és összetett ahhoz, hogy néhány szót lehessen leírni. Vannak teljes könyvek róla. A Gradle parancsok egyszerű formátumúak a Groove szintaxisával a konfigurációhoz. De nem kell mindent tudnunk. Megismerjük a rendszert és megtanuljuk használni.

Hozzon létre egy új projektet, vagy nyisson meg egy meglévő projektet az Android Stúdióból, és nézze meg a projekt struktúráját.

A stúdió legfrissebb verzióiban a Gradle fájlokat egy külön Gradle Script könyvtárba osztják. Nyisd ki. Alapvetően érdekelheted az build.gradle fájlt. amely a modulra vonatkozik. A zárójelben lévő fájl mellett meg fogják írni Modul: app. Kattintson duplán a megnyitáshoz, látni fogod, hogy a fájl szöveges fájl.

Van egy build.gradle fájl is. amely a projektre utal. De ritkábban dolgoznak. Tehát vannak olyan beállítások a tárolók számára és maga Gradle is.

Vissza a modul fájlhoz, sok érdekes információt fog látni. Például láthatja azokat a beállításokat, amelyeket a manifeszt korábbi verziószámaiban, SDK-számain stb. Láthattok. Előre megyek, azt mondom, hogy itt csak egy varázsszínt adhat hozzá, és a szükséges könyvtárat az internetről töltik le és telepítik a projektbe. Beauty!

Visszatérünk azonban a gyökérmappába. A build.gradle fájlok mellett észreveszünk gradle.properties fájlokat is. settings.gradle és mások. Nem kell megérintened őket.

Előfordulhat, hogy a fájlok szerkezete az Eclipse-hez képest megváltozott. Az app mappában a mappa src. és a mappája a fő. amelyben a java mappát. res és a manifeszt fájlt. Az új struktúra jobban megfelel a Gradle fájlkezelésre vonatkozó követelményeinek.

Például alternatív mappákat hozhat létre az erőforrásokkal, és a build.gradle segítségével csatlakozhat a projekthez.

Ebben a példában azt jeleztük, hogy van egy új prezentációs mappa a / src / main / fájlban a meglévő java és res mappákkal együtt. A létrehozott mappában két további mappa elrendezés és animáció található. amelyek erőforrás fájlokat tartalmaznak.

Ne felejtsük el, hogy el kell kerülnie a névkonflikt, amikor összeadja az összes fájlt a létrehozás során.

A sourceSets értéke azt mondja a Gradle számára, hogy milyen mappákat használjon. Ezt a technikát a fejlett programozók használják. Most nem használjuk ezt a technikát.

Egy másik hasznos funkció az alkalmazások különböző verzióinak létrehozása, például egy demo verzió és egy fizetett verzió. Egy kicsit arról mesélnek itt.

Az alkalmazás verziószáma és az Android verziójára vonatkozó követelmények a defaultConfig szakaszban vannak regisztrálva. Ha elmentette az alkalmazás régi verzióját, törölheti a rekordadatokat a manifesztben. Véleményem szerint van még egy megfelelő tipp. Még akkor is, ha ezeket az adatokat nem törli a manifesztben, akkor a gradle.build értékei elsőbbséget élveznek, és felülírják a manifestben szereplő értékeket, ha nem egyeznek.

A könyvtár egy sorban van összekapcsolva. Például hozzá kell adnia a Picasso könyvtárat:

Az Android Studio 3.0-ban a Gradle új verzióját használják, amelyben a fordítást elavultnak tekintik. Ehelyett használja az új megvalósítást.

Van egy hasonló parancs, amely összeköti a könyvtárat, amelyet csak az alkalmazás hibakeresésére használnak, és a kiadási verzióban nincs szükség.

Ezután bekapcsolja a szinkronizálást, és néhány másodperc múlva a szükséges könyvtár megjelenik a mappában, amely készen áll a használatra. Maga a könyvtár egy speciális JCenter adattárból töltődik le. Ezt az adattárat alapértelmezésben használja és a buil.gradle projektben regisztrálva van.

Adhat másik adattárat, például a Maven Központot.

Az érdekes Gradle oldalon kérjük, azonnal keresse meg a könyvtár legfrissebb verzióját a keresésen keresztül, ebben az esetben a Picasso könyvtárat kerestük.

A könyvtár régi módon csatlakoztatható egy jar fájl segítségével, de ez a módszer a múlté.

A fájlt maga kell átmásolni egy mappába / libs.

A Gradley fájlban is használja a ProGuard eszközt. Csonkolhatja, optimalizálhatja és obfuscirovat (olvashatatlanul) kódját. Ennek engedélyezéséhez állítsa a minifyEnabled tulajdonságot igaznak.

A megadott fájlban meg kell adnia a ProGuard szabályait. Én magam ezzel az eszközzel nem működött, ezért nem tudok részletesebben elmondani.

Például megadhat osztályokat a fájlban.

A fájl módosítása nem mentheti meg. Szinkronizálni is kell. A tetején általában egy sárga sáv jelenik meg a Sync Now linkkel.

Állítsa be az APK nevet a fordítás során

Saját nevét megadhatja a projekt összeállításakor. Például.

Szerezd meg a MyName-1.0.12-release.apk nevet

Nyomja össze az eredményül kapott APK-t

A Gradle 1.4-ben tömörítheti az eredményül kapott fájlt a fel nem használt erőforrások, például a könyvtárak, például a Google Play Services eltávolításával.

Az alkalmazás létrehozásakor láthatod a sort:

A felhasználatlan konfigurációs erőforrások eltávolításának másik módja. Például nincs szükség a helyi forrásokra a Google Play Szolgáltatási könyvtár vagy az Android Támogatási Könyvtár részét képező összes nyelv számára stb. Csak hagyjuk el a szükséges nyelveket. Talán nem szeretné támogatni az alkalmazásban az mdpi vagy az tvdpi felbontásokat. Telepíthetjük az alkalmazásban használt nyelveket és engedélyeket, a többiek kizárásra kerülnek, ami csökkenti az alkalmazás súlyát.

Class BuildConfig

A cikkben a LogCat említette a naplózás gyors kikapcsolásának módját.

A lényege a következő. Amikor új változókat hoz létre a defaultConfig vagy buildTypes blokkokban (a debug és az ágak kiadása), a Gradle egy speciális osztályt hoz létre BuildConfig néven. és ezekhez a változókhoz hozzáférhet.

Például adj hozzá egy változót a defaultConfig-hoz

A Java-ban ez egyenértékű a String karakterrel YOUR_TOKEN = "ABRAKADABRA";

Most már hivatkozhatunk a létrehozott vonalra.

Kódot hozunk létre a weboldalra lépéshez.

Válasszuk el a hibakeresési és a végleges verziókat

Az applicationIdSuffix és a versionNameSuffix speciális változókban az egymást követő konfliktusok elkerülésére szolgáló utótagokat adunk meg. És a resValue változóban megadjuk a program nevét a hibakereséshez és a végleges verziókhoz, hogy megtalálható legyen az eszközön. Ne felejtsük el törölni az app_name string erőforrást a res / values ​​/ strings.xml fájlban. ellenkező esetben hiba keletkezik a fordítás során. Mostantól biztonságosan futtathatja az alkalmazást az új kóddal, anélkül, hogy félne a kedvenc alkalmazásától.

Titkos információk elrejtése

A következő tanácsok alkalmasabbak a vállalatok számára. Ha egy alkalmazást aláír, meg kell adnia egy jelszót, egy adattárat stb. Annak elkerülése érdekében, hogy ragyogjon a stúdióban, változókba írhatja őket, és elhelyezheti őket a signingConfigs szakaszban. A szerver maga megtalálja a megfelelő kulcsokat, és felhasználja őket a szkriptjeikben.

Kód generációs öngeneráció

Találtam tanácsot, én nem alkalmaztam magam. Az alkalmazás verziójának manuális módosítása nem szükséges a versionCode és a versionName attribútumban. változókon keresztül lehet elvégezni, és maguk a helyes helyre kerülnek. Egy amatőr számára.

settings.gradle

A settings.gradle fájl általában egy sorból áll.

Ez azt jelenti, hogy van egy projekt, amellyel együtt dolgozhat. Ha más projekteket csatlakoztat, akkor új sorok jelennek meg.

gradle.properties (projekt tulajdonságai)

Néhány tipp a gradle.properties beállításához.

Párhuzamos végrehajtási mód

Gradle démon

A Gradle démon számítógépen való rögzítése jelentősen növeli a beépítési sebességet.

Konfigurációs mód, ha szükséges

Ha a projekt több modulot használ, akkor szükség esetén bekapcsolhatja a konfigurációs módot. A gyorsítás észrevehető a nagyszámú modul használatával:

Módosítsa a könyvtárak verziószámát egy helyen

Nagyon gyakran a projekt azonos számokkal rendelkező, egymással összefüggő könyvtárakat használ.

Az összes szám gyorsan átváltható egy változón keresztül. Ehhez használja az ext szekciót. amely meghatározza a változót és a verziószámot. Ezután a függőségek résznél a verziószámot a változó neve helyettesíti

Vegye figyelembe, hogy az egyes idézőjelek kettős idézőjelekkel vannak helyettesítve, és a $ egy karakterláncot jelöl.

Kiterjesztett változat különböző változókkal, eltérő formában.

Ha a projekt több modulot használ ugyanazon függőséggel, akkor ezeket a rekordokat át lehet vinni a gyökér build.gradle-be. hogy ne módosítsa az egyes modulok verziószámát.

Beállítások az Android Stúdióban

Vegye figyelembe az Android Stúdióban elérhető beállításokat. Zárja be az aktuális projektet a stúdió indítási ablakának megtekintéséhez. A jobb oldalon kattintson a Konfigurálás gombra. A következő ablakban válassza a Beállítások lehetőséget. hogy a stúdió beállítások ablakában legyenek. A bal oldalon keresse meg az Elem, végrehajtás, telepítés elemet. majd a Build Tools elemet. alpont Gradle. Alapértelmezés szerint minden tiszta, csak a Szervizkönyvtár elérési útja van megadva. Ezek voltak az általános beállítások.

Tekintsük át a projekthez kapcsolódó beállításokat. Futtathat bármilyen projektet az Android Stúdióban. Válassza a Fájl menüpontot Beállítások. . Ismét átmegy a Build, Execution, Deployment | elemeken Build Tools | Gradle. Szinte ugyanabban az ablakban látja majd a kis változásokat. Most a Linked Gradle Projects mező nem lesz üres, és további beállítások jelennek meg. Alapértelmezés szerint használja az Alapértelmezett fokozat csomagolót.

Gradle Task

Az Android Studio jobb oldalán van egy függőleges lap Gradle. amely telepíthető. Olyan feladatlistát tartalmaz, amely Gradle-t végzi el, amikor az aktuális projekten dolgozik. Kiválaszthatja ezeket a feladatokat, és kattintson rá duplán. Számos feladat megkülönböztethető.

Ismerje meg a debug.keystore alkalmazást: MD5 és SHA1

Néha ismernie kell a debug.keystore értékeit. MD5 és SHA1. Általában a parancssorból érkeznek. De ez hosszú és kényelmetlen, mert minden érvet meg kell emlékezned. Van könnyebb út. Nyissa meg a Gradle lapot. Kattintson a nyíl gombra Frissítse az összes Gradle projektet. Ezután egymás után megnyitjuk a feladatokat android, és futtassa a signingReport parancsot. Az alsó Futtatás ablakban megjelenik a szükséges információ.

Gradle konzol

Amikor a Gradle feladat végrehajtásra kerül, láthatja az előrehaladást a Gradle Console ablakban. A stúdió jobb alsó részén található Gradle Console lapon nyithatja meg.

Indíthatja el a Gradle feladatokat is a Terminál ablakban.

A Sync Project Gradle Files ikon az eszköztáron található. amelyet Gradle fájlok szerkesztésekor kell használni. A stúdió jellemzően egy figyelmeztető üzenetet jelenít meg egy hivatkozással, amikor ugyanazt a munkát végző fájlt módosítja.

Függőségek hozzáadása a stúdió felületen keresztül

Ez a cikk leírja, hogyan kell a könyvtárat egy projektbe beépíteni a build.gradle fájl szerkesztésével. Van egy alternatív lehetőség a stúdió beállításain keresztül. Kattintson a jobb gombbal a modul nevére (app) és válassza a Modul beállítások megnyitása (gyorsbillentyű F4) parancsot. Az ablak jobb oldala olyan lapokat tartalmaz, amelyek befolyásolják a build.gradle fájlt. A Dependencies lap például plug-ineket tartalmaz.

Új függőség felvételéhez kattintson a pluszjelre, és válassza ki a kívánt opciót, például a függvénytár függvényét. Megnyílik a rendelkezésre álló könyvtárak listája a Maven repositoryból.

További olvasmány

A mappákban lévő PDF-fájlokkal való együttműködés példáján alapértelmezés szerint a fájlok tömörítésének tiltása működik.

Gradle problémái az általános fejlődés elmélete.

Kapcsolódó cikkek