Якщо ви фанат жорстокого Android, шанси єсильно, що ви б з нетерпінням намагалися випробовувати нові теми, власні ПЗУ та всі подібні моди для свого пристрою. Одним з головних моментів плутанини є термінологія, пов’язана з цими модами - щось досить звичне розробникам, але не для початківця користувача. Дві найпоширеніші слова у користувальницьких ПЗУ та темах - це «переорієнтоване» та «zipalign». Кілька днів тому ми детально висвітлювали «дезодексований». У цій статті ми вивчимо що означає ципалігн і як можна налаштувати APK-файли.

ЩО ТАКЕ ZIPALIGN?
zipalign - це інструмент вирівнювання архівувперше з 1.6 Android SDK (комплект для розробки програмного забезпечення). Це оптимізує спосіб упаковки пакету програм для Android (APK). Це дозволяє операційній системі Android ефективніше взаємодіяти з додатком, а отже, є потенціал зробити додаток і загальну систему набагато швидшими. Час виконання для мінімізованих додатків зводиться до мінімуму, що призводить до зменшення споживання оперативної пам’яті під час запуску APK.
Так ЯК РОБОТИ РОБОТИ?
В операційному середовищі Android, файли данихзберігаються в кожному пакеті програм доступ до декількох процесів, наприклад, інсталятор прочитає маніфест даних для визначення відповідних дозволів; системний сервер може читати ці ресурси з кількох причин, як-от показ сповіщень; Наприклад, домашня програма буде читати ресурси, щоб отримати ім’я та значок програми. Оскільки Android базується на справжній багатозадачній операційній інфраструктурі, до цих файлів надається доступ постійно та неодноразово. Нарешті, але не в останню чергу, сама програма читає дані маніфесту.
Оскільки Android базується на Linux, відображення пам'яті відтворюєключова роль в ефективному поводженні з процесами. По суті, оптимальне вирівнювання коду обробки ресурсів ОС Android - це 4-байтні межі. Це означає, що якщо APK-карти розміщені в пам'яті до 4-байтних меж і вирівняні відповідно, ОС не потрібно буде «перечитувати» весь пакет додатків, щоб дістатись до потрібного маніфесту даних. Кожен системний процес заздалегідь буде знати, де шукати потрібні ресурси, а значить, буде виконуватись набагато плавніше та швидше.
Підсумовуючи це, зіставляти результати APK у всіхнестиснені дані в пакеті повинні бути вирівняні за 4-байтними межами, що дозволяє отримати доступ до всіх частин безпосередньо з картою пам'яті. Споживання оперативної пам’яті знижується під час виконання, оскільки код запиту не повинен читати весь пакет програм.
ПІДТВЕРДЖЕННЯ НЕЗНАЧЕНОГО APK
Цілком зрозуміло, ситуація була б застереженадля нерівних пакетів програм. Читання ресурсів буде повільним, а використання пам'яті буде на вищому кінці спектру. Це також залежатиме від того, скільки присутніх нестандартних додатків. Наприклад, якщо менша кількість програм із нерівним домашнім додатком, ви побачите повільніші часи запуску програми. Це найкращий сценарій випадку. У гіршому випадку, наявність декількох нестандартних застосунків призведе до того, що система багаторазово запускає і вбиває процеси, бореться із лагами та величезним розрядом акумулятора.
ЯК ВИ ТИ РОБИТИ?
Як уже згадувалося раніше, інструмент zipalign став частиною Android SDK з 1.6 року. Його можна знайти в папці "інструменти" SDK. Для його використання просто запустіть команду:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
де infile.apk - вихідний файл, і outfile.apk - вихідний файл.
Крім того, ви також можете перевірити вирівнювання файлу APK за допомогою наступної команди:
zipalign -c -v <alignment> existing.apk
де existing.apk може бути будь-який пакет програм, який потрібно підтвердити. Також <alignment> тег в обох командах повинен бути інтеграломзначення (інакше команда поверне недійсну). Це значення, хоча може бути будь-яким цілим числом, ОБОВ'ЯЗКОВО має бути 4, що забезпечить 32-бітове вирівнювання. Будь-яке інше значення, і воно фактично нічого не зробить.
Нарешті, для прапорів, які використовуються в цих командах,
- -f : перезаписує існуючий outfile.zip
- -в : дасть багатослівний вихід
- -c : підтвердить вирівнювання заданого файлу
СЛОВО ОБЕРЕЖНО: операція зіпалінга повинна виконуватися тільки після ви підписали файл APK разом із приватнимключ. Якщо перед підписанням виконувати вирівнювання, процедура підписання порушить вирівнювання. Те саме стосується будь-яких інших змін, додавання або видалення файлу APK. Будь-яка зміна після запуску zipalign скасує вирівнювання.
Відмова від відповідальності: Цей посібник призначений лише для освітніх цілей. Це жодним чином не замінює набір інструментів для розробників Android, а також не використовується для цілей розробки. AddictiveTips не надає жодної підтримки стосовно матеріалів, представлених у цьому документі.
Коментарі