- - Čo je Zipalign v systéme Android a ako urobiť aplikácie Zipaligned [Kompletný sprievodca]

Čo je Zipalign v systéme Android a ako urobiť aplikácie Zipaligned [Kompletný sprievodca]

Ak ste hardcore fanúšik Android, je pravdepodobné, že máteje silné, že by ste dychtivo vyskúšali nové témy, vlastné ROM a všetky takéto režimy pre svoje zariadenie. Jedným z hlavných zmätkov je terminológia spojená s týmito režimami - niečo, čo vývojári celkom dobre poznajú, ale nie sú pre začiatočníka veľmi dôležité. Dve najčastejšie sa vyskytujúce slová vo vlastných ROM a motívoch sú „deodexované“ a „zipsové“. Pred niekoľkými dňami sme podrobne „deodexovali“. V tomto článku to preskúmame čo znamená zipalign a ako môžu byť súbory APK zarovnané.

ČO JE ZIPALIGN?

zipalign je zavedený nástroj na zarovnanie archívuprvýkrát s 1,6 Android SDK (súprava na vývoj softvéru). Optimalizuje spôsob balenia balíka aplikácií pre Android (APK). Vďaka tomu operačný systém Android môže interagovať s aplikáciou efektívnejšie, a preto má potenciál zefektívniť aplikáciu a celkovo celý systém. Čas vykonávania je minimalizovaný pre aplikácie zarovnané na zip, čo má za následok menšie množstvo pamäte RAM pri spustení APK.

AKO PRÁCA PRESNE?

V operačnom prostredí Android sú dátové súboryuložené v každom aplikačnom balíku sú prístupné z viacerých procesov, napríklad inštalátor prečíta manifest údajov na určenie súvisiacich povolení; systémový server môže čítať tieto zdroje z viacerých dôvodov, napríklad zobrazovanie upozornení; napríklad domáca aplikácia načíta prostriedky, aby získala názov a ikonu aplikácie. Pretože systém Android je založený na skutočnej multifunkčnej operačnej infraštruktúre, k týmto súborom sa nepretržite a opakovane pristupuje. Nakoniec, ale v neposlednom rade, samotná aplikácia číta zjavné údaje.

Pretože Android je založený na Linuxe, mapovanie pamäte hrá akľúčovú úlohu pri efektívnom zvládaní procesov. V zásade je optimálne zarovnanie pre kód na manipuláciu so zdrojmi operačného systému Android OS 4-bajtové hranice. To znamená, že ak sú súbory APK mapované na 4-bajtové hranice a podľa toho sú zarovnané, operačný systém nebude musieť „prečítať“ celý aplikačný balík, aby sa dostal k požadovanému manifestu údajov. Každý systémový proces vopred vie, kde hľadať požadované zdroje, a preto bude vykonávať oveľa plynulejšie a rýchlejšie.

Ak to zhrnieme, zoraďovanie súboru APK vo výsledkoch bude celkovonekomprimované údaje v rámci balíka sa zarovnajú na 4-bajtové hranice, čo umožňuje prístup ku všetkým častiam priamo s mapou pamäte. Počas vykonávania sa spotreba RAM zníži, pretože kód dopytovania sa nemusí čítať cez celý balík aplikácií.

NEVÝHODY NEZARADENÝCH APK

Celkom pochopiteľne by bola situácia vyhradenápre nezaradené balíky aplikácií. Čítanie zdrojov by bolo pomalé a využitie pamäte by bolo na hornom konci spektra. Záviselo by to aj od toho, koľko aplikácií nie je zarovnaných. Napríklad, ak je menší počet aplikácií s nezaradenou domácou aplikáciou, zobrazí sa vám pomalšia doba spustenia aplikácie. Toto je najlepší prípad. V prípade najhoršieho prípadu bude mať množstvo nevyrovnaných aplikácií za následok opakované spustenie a zabitie procesov v systéme, zápasenie so oneskorením a obrovské vybitie batérie.

Ako to robíte, potom?

Ako už bolo spomenuté, nástroj zipalign sa stal súčasťou platformy Android SDK od 1.6. Nájdete ho v priečinku „tools“ v súprave SDK. Ak ju chcete použiť, jednoducho spustite príkaz:

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

kde infile.apk je zdrojový súbor a outfile.apk je výstupný súbor.

Ďalej môžete tiež overiť zarovnanie súboru APK pomocou nasledujúceho príkazu:

zipalign -c -v <alignment> existing.apk

kde existing.apk môže byť akýkoľvek balík aplikácií, ktorý potrebujete overiť. Tiež <Zarovnanie> Značka v oboch príkazoch musí byť integrálnahodnota (inak sa príkaz vráti neplatný). Táto hodnota, hoci môže byť akékoľvek celé číslo, MUSÍ byť vždy 4, čo by zabezpečilo 32-bitové zarovnanie. Akákoľvek iná hodnota a efektívne neurobí nič.

Nakoniec, pre príznaky použité v týchto príkazoch,

  • -f : prepíše existujúci súbor outfile.zip
  • -v : poskytne podrobný výstup
  • -c : potvrdí zarovnanie daného súboru

UPOZORNENIE: Operácia zipalign sa musí vykonávať iba po podpísali ste súbor APK svojím súkromnýmKľúč. Ak je pred podpisom zarovnané na zips, postup podpisovania narušuje zarovnanie. To isté platí pre akékoľvek ďalšie zmeny, pridanie alebo odstránenie súboru APK. Akákoľvek zmena po spustení zipalign zruší zarovnanie.

Zrieknutie: Táto príručka je určená iba na vzdelávacie účely. V žiadnom prípade to nenahrádza súpravu nástrojov pre vývojárov systému Android ani nie je určená na použitie na vývojové účely. AddictiveTips neposkytuje žiadnu podporu týkajúcu sa tu prezentovaného materiálu.

Komentáre