Jos olet kova Android-fani, mahdollisuudet ovatvahva, että yrität innokkaasti kokeilla uusia teemoja, mukautettuja ROM-levyjä ja kaikkia sellaisia modit laitteellesi. Yksi tärkeimmistä sekaannuskohdista on näihin modifikaatioihin liittyvä terminologia - jotain melko tuttua kehittäjille, mutta ei kovinkaan aloittelijalle. Kaksi mukautettujen ROM-levyjen ja teemojen yleisimmin esiintyviä sanoja ovat 'deodexed' ja 'zipalign'. Muutama päivä sitten peitimme yksityiskohtia 'deodexed'. Tässä artikkelissa tutkitaan mitä zipalign tarkoittaa ja kuinka APK: t voidaan zipaloida.

Mikä on ZIPALIGN?
zipalign on esitelty arkistojen kohdistamistyökaluensimmäistä kertaa 1,6 Android SDK: lla (ohjelmistokehityspaketti). Se optimoi Android-sovelluspaketin (APK) pakkaamisen. Näin Android-käyttöjärjestelmä voi olla vuorovaikutuksessa sovelluksen kanssa entistä tehokkaammin, ja siten se voi tehdä sovelluksesta ja koko järjestelmästä paljon nopeamman. Suoritusaika on minimoitu zipaloitettuihin sovelluksiin, mistä seuraa vähemmän RAM-muistin kulutusta APK: ta ajaessa.
Joten se toimii juuri niin?
Android-käyttöympäristössä datatiedostotJokaiseen sovelluspakettiin tallennettuihin tietoihin pääsee useilla prosesseilla, esimerkiksi asennusohjelma lukee dataluettelon määrittääkseen liittyvät käyttöoikeudet; järjestelmäpalvelin voi lukea näitä resursseja useista syistä, kuten ilmoituksien näyttämiseksi; esimerkiksi Kotisovellus lukee resursseja saadaksesi sovelluksen nimen ja kuvakkeen. Koska Android perustuu todelliseen monitehtäväiseen käyttöinfrastruktuuriin, näitä tiedostoja käytetään jatkuvasti ja toistuvasti. Viimeisenä, mutta ei vähäisimpänä, sovellus itse lukee manifestitiedot.
Koska Android on Linux-pohjainen, muistin kartoitus toistaa:avainrooli prosessien tehokkaassa käsittelyssä. Pohjimmiltaan optimaalinen kohdistus Android-käyttöjärjestelmän resurssienkäsittelykoodille on 4 tavun rajat. Tämä tarkoittaa sitä, että jos APK: t on muistikartattu 4 tavun rajoihin ja kohdistettu vastaavasti, käyttöjärjestelmän ei tarvitse "lukea" koko sovelluspakettia päästäkseen haluttuun tietoluetteloon. Jokainen järjestelmäprosessi tietää etukäteen, mistä etsiä haluttuja resursseja, ja suorittaa siten paljon sujuvammin ja nopeammin.
Yhteenvetona APK: n zipaligning johtaa kaikkiinpakkaamattomat pakkaamattomat tiedot kohdistetaan 4 tavun rajoille, jolloin kaikkiin osiin pääsee suoraan muistikartalla. RAM-muistin kulutus laskee suorituksen aikana, koska kyselykoodin ei tarvitse lukea koko sovelluspakettia.
SUORITTAMATTAMATTAMATTAMOJEN POIKKEET
Tilanne olisi varsin ymmärrettävästi varattukohdistamattomille sovelluspaketeille. Resurssien lukeminen olisi hidasta ja muistin käyttö olisi spektrin ylemmässä päässä. Se riippuu myös siitä, kuinka monta kohdistamatonta sovellusta on läsnä. Jos esimerkiksi vähemmän sovelluksia, joissa on kohdistamaton kotisovellus, sovellusten käynnistysajat olisivat hitaampia. Tämä on paras tapaus. Pahimmassa tilanteessa useiden kohdistamattomien sovellusten käyttäminen johtaa siihen, että järjestelmä käynnistää ja tappaa prosessit toistuvasti, kamppailee viiveiden ja valtavan akun tyhjennyksen kanssa.
Kuinka teet sen, niin?
Kuten aiemmin mainittiin, zipalign-työkalusta tuli osa Android SDK: ta 1.6: sta eteenpäin. Se löytyy SDK: n "työkalut" -kansiosta. Voit käyttää sitä suorittamalla komennon:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
missä infile.apk on lähdetiedosto, ja outfile.apk on tulostetiedosto.
Lisäksi voit tarkistaa APK-tiedoston kohdistuksen seuraavalla komennolla:
zipalign -c -v <alignment> existing.apk
missä existing.apk voi olla mikä tahansa sovelluspaketti, joka sinun on vahvistettava. Myös <Linjaus> -tunnisteen molemmissa komennoissa on oltava kiinteäarvo (muuten komento palaa virheelliseksi). Tämän arvon, vaikka se voi olla mikä tahansa kokonaisluku, PAKOSTA on aina oltava 4, mikä tuottaa 32-bittisen kohdistuksen. Muu arvo ja se ei todellakaan tee mitään.
Lopuksi näissä komennoissa käytettyjen lippujen osalta
- -f : korvataan olemassa oleva outfile.zip
- -v : antaa sanallisen tuotoksen
- -C : vahvistaa annetun tiedoston kohdistuksen
VAROITUSSana: zipalign-toimenpide on suoritettava vain jälkeen olet allekirjoittanut APK-tiedoston yksityiselläsinäppäintä. Jos zipaloitettu ennen allekirjoittamista, allekirjoitusmenettely häiritsee kohdistusta. Sama pätee muihin APK-tiedoston muuttamiseen, lisäämiseen tai poistamiseen. Kaikki muutokset zipalignin suorittamisen jälkeen kumoavat kohdistuksen.
Vastuuvapauslauseke: Tämä opas on tarkoitettu vain koulutustarkoituksiin. Tämä ei missään tapauksessa korvaa Android-kehittäjätyökalupakettia, eikä sitä ole tarkoitettu käytettäväksi kehitystarkoituksiin. AddictiveTips ei tarjoa mitään tukea tässä esitetylle materiaalille.
Kommentit