Какво е Zipalign в Android и как да правите приложения Zipaligned

click fraud protection

Ако сте хардкор фен на Android, шансовете са големи, че с нетърпение ще изпробвате нови теми, персонализирани ROM и всички подобни модове за вашето устройство. Една от основните точки на объркване е терминологията, свързана с тези модове - нещо доста познато на разработчиците, но не и много за начинаещия потребител. Две от най-често срещаните думи в персонализирани ROM и теми са „deodexed“ и „zipalign“. Няколко дни назад, ние покрит 'Deodexed' подробно. В тази статия ще проучим какво означава zipalign и как APK файловете могат да бъдат ципирани.

КАКВО Е ZIPALIGN?

zipalign е инструмент за подравняване на архиви, представен за първи път с 1.6 Android SDK (комплект за разработка на софтуер). Той оптимизира начина, по който се пакетира апликационен пакет за Android (APK). Това позволява на операционната система Android да взаимодейства по-ефективно с приложението и следователно има потенциал да направи приложението и цялостно цялата система много по-бързи. Времето за изпълнение е сведено до минимум за приложенията в зипалинг, което води до по-малко потребление на RAM памет при стартиране на APK.

instagram viewer

И така КАК РАБОТИ ТОЧНО?

В операционна среда на Android, файловете с данни, съхранявани във всеки пакет приложения, са достъпни от множество процеси, например инсталаторът ще прочете манифеста на данните, за да определи асоциирания разрешения; системният сървър може да чете тези ресурси по множество причини, като показване на известия; например приложението Home ще чете ресурси, за да получи името и иконата на приложението. Тъй като Android се базира на истинска многозадачна операционна инфраструктура, до тези файлове се осъществява непрекъснат и многократен достъп. И накрая, но не на последно място, самото приложение чете данните от манифеста.

Тъй като Android е базиран на Linux, картографирането на паметта играе ключова роля в ефективното управление на процесите. По същество, оптималното подравняване за кода за обработка на ресурси на операционната система Android е 4-байтови граници. Това означава, че ако APK паметта е картографирана на паметта до 4-байтови граници и съответно подравнена, ОС няма да е необходимо да „чете“ целия пакет от приложения, за да стигне до желаните данни манифест. Всеки системен процес ще знае предварително къде да търси желаните ресурси и следователно ще се изпълнява много по-гладко и бързо.

Обобщавайки го, zipaliging APK води до всички некомпресирани данни в пакета да бъдат подравнени на 4-байтови граници, което позволява достъп до всички части директно с картата-памет. Консумацията на RAM паметта се намалява по време на изпълнение, тъй като не е необходимо кодът за заявка да се чете през целия пакет приложения.

НЕДОСТАТЪЦИ НА НЕИЗПРАВЛЕНИ APK файлове

Съвсем разбираемо е, че ситуацията би била запазена за несъгласувани пакети от приложения. Четенето на ресурси ще бъде бавно и използването на паметта ще бъде в по-горния край на спектъра. Това ще зависи и от броя на неприсъстващите приложения. Например, ако има по-малък брой приложения с несъгласувано домашно приложение, ще видите по-бавни времена на стартиране на приложения. Това е най-добрият сценарий. За най-лошия сценарий наличието на редица неприсъединени приложения ще доведе до това, че системата многократно стартира и убива процеси, бори се с изоставания и огромно изтощение на батерии.

КАК ДА СЕ ПРАВЕТЕ?

Както споменахме по-рано, инструментът zipalign стана част от Android SDK от 1.6 нататък. Тя може да бъде намерена в папката „инструменти“ на SDK. За да го използвате, просто стартирайте командата:

zipalign [-f] [-v]  infile.apk outfile.apk

където infile.apk е изходният файл и outfile.apk е изходният файл.

Освен това можете да проверите подравняването на APK файл, като използвате следната команда:

zipalign -c -v  existing.apk

където existing.apk може да бъде всеки пакет за приложения, който трябва да получите проверка. Също така етикетът и в двете команди трябва да бъде интегрална стойност (в противен случай командата ще се върне невалидна). Тази стойност, въпреки че може да бъде всяко цяло число, ТРЯБВА да бъде 4, което би осигурило 32-битово подравняване. Всяка друга стойност и тя ефективно няма да направи нищо.

И накрая, за флаговете, използвани в тези команди,

  • -f: презаписва съществуващия outfile.zip
  • -V: ще даде многословен изход
  • -° С: ще потвърди изравняването на даден файл

ДУМА НА ВНИМАНИЕ: операцията на zipalign трябва да се извършва само след сте подписали файла с APK с личния си ключ. Ако се подрежда преди подписване, процедурата за подписване ще наруши изравняването. Същото важи и за всяка друга промяна, добавяне или премахване на APK файла. Всяка промяна след стартиране на zipalign ще отмени подравняването.

Опровержение: Това ръководство е предназначено само за образователни цели. Това по никакъв начин не е заместител на инструментариума за разработчици на Android, нито е предназначен да се използва за целите на развитието. AddictiveTips не предоставя никаква поддръжка във връзка с материалите, представени тук.

watch instagram story