Як змінити файл apk на комп'ютері APK чим відкрити і як редагувати? Пристрій APK-пакетів та їх отримання

APK – це формат, який використовується в операційній системі Android для архівних файлів-додатків, що виконуються. Аналогом, наприклад, у Windows, є .msi, Symbian - .sis, в Linux - .rpm або .deb. У цій статті ми максимально детально розберемося у всіх питаннях щодо файлового формату.

Процес розбирання, редагування та складання за «правильним» називається reverse-engineering («реверс-інжиніринг»). Що для цього потрібно? Необхідні такі інструменти:

Apktool. Зручніше використовувати з оболонкою SmartApktool, можна використовувати вже готові batch-файли, наприклад ApktoolBAT.

Notepad++ - не обов'язково, але настійно рекламується.

7zip або WinRar, або будь-яка інша програма-архіватор, але рекомендується саме одна з цих.

Деодексована прошивка.

Встановлювати програми в операційній системі Android можна кількома способами. Перший, він основний - це безпосередньо через Google Play (Android Market), тобто з офіційного джерела, для чого буде потрібно обліковий запис Google. Багато програм платні, якщо ви не хочете шукати зламану версію на піратських сайтах, то доведеться сплатити покупку. Але про те, як це зробити, ми поговоримо у . Друге – з неофіційних джерел, відмінних від Google Play, для чого доведеться включити параметр «Дозволити встановлення програм з неофіційних джерел» у налаштуваннях смартфона або планшета, після чого файл APK потрібно записати на карту пам'яті.

Можна також масово встановлювати програми APK. Для цього буде потрібно Astro File Manager - спеціальний файловий менеджер. Після його встановлення переміщуємо програми:

З смартфона/планшета: в mntsdcardackupsapp(іншими словами, картка пам'яті, далі папака backups, папка app)

З персонального комп'ютера (не забуваємо включити підключення Adroid-пристрою в режимі простого USB-накопичувача): sdcardbackupsapp

Після чого відкриваємо потрібну програму, в контекстному меню вибираємо «Менеджер додатків» і переходимо у вкладку «Резервні копії», де вибираємо «Зробіть довгий клік або перевірте програму, щоб інсталювати». Натискаємо кнопку «Інсталювати» - всі програми будуть встановлені на ваш пристрій.

Що являє собою структура APK-файлу, подивитися досить легко. Відкриваємо потрібний APK за допомогою програми-архіватора, наприклад WinRar. Ось що ми бачимо всередині:

AndroidManifest.xml– це своєрідний «паспорт», який описує, що перебуває у додатку, зокрема: системні вимоги до додатку, його структура та версія.

META-INF- папка, що містить файл MANIFEST.MF(його можна відкрити практично будь-яким текстовим редактором, рекомендується використовувати Notepad++), відкривши який видно контрольні суми SHA-1 та шляхи до даних, версію стандарту Manifest-Version, файли сертифіката RSA або DSA, файл SF містить шляхи до різних ресурсів та їх контрольні суми . Взагалі, META-INF – це файли метаданих, тобто дані даних.

res– папка, яка містить усі ресурси «програмної начинки», розсортовані за підпапками. Наприклад, у папці ~drawable~ знаходяться графічні елементи додатків (різні статуси, іконки і таке інше), в директорії layout – XML-файли, в яких зазначено розміщення елементів графічного інтерфейсу користувача (GUI).

classes.dex– програмний код, який виконує віртуальна машина Dalvik VM. Нагадаємо, що операційна система Android - це суміш ядра Linux з віртуальною машиною Java.

resources.arsc- Скомпільований файл XML. Він містить дані про всі ресурси, що використовуються програмою.

assets– папка, також містить різні ресурси, її може бути зовсім у APK.

lib– папка, яка містить «ліби» або, простіше кажучи, нативні бібліотеки, якщо програма написана з використанням NDK, наприклад, з елементами коли С++. Даної директорії може бути в APK.

com– може бути відсутнім у APK.

org– може бути відсутнім у APK.

udk– може бути відсутнім у APK.

З вмістом APK-програми ми розібралися, тепер приступимо до детальної його розбирання. Для декомпіляції знадобляться Apktool і Java, а також сам APK-файл. Apktool рекомендується розпаковувати в директорію C:WINDOWS(Це не обов'язково, але так буде зручніше. Чому читайте трохи нижче).

Для запуску Apktool необхідно увійти в меню "Виконати" комп'ютера. На Windows XP натискаємо Пуск -> Виконати, на Windows 7: Менеджер завдань ( Ctrl+Alt+Del), зверху у випадаючому меню Файл -> Нове завдання (Виконати…), або просто викликаємо його поєднанням клавіш Win+R.

Викликаємо командний рядок – пишемо cmd, після чого запускаємо Apktool - пишемо apktool(для цього потрібно було помістити його в папку WINDOWS). Далі все керування відбувається через командний рядок із використанням параметрів.

Якщо немає бажання морочитися з постійним введенням текстових команд, можна використовувати графічний інтерфейс, наприклад, згаданий SmartApkTool. Запускаємо SmartApkTool.exe, після чого у вкладці Розпакувати/Запакувати вибираємо потрібну програму APK (важливо, щоб ім'я файлу не містило пробілів, кирилиці, спецсимволів та розділових знаків).

Після розпакування програма створить папку з такою самою назвою, як файл APK. Всередині неї буде весь вміст програми.

APK також можна локалізувати. Перш ніж почати це робити, запускаємо попередньо встановлений Notepad ++ і налаштовуємо його наступним чином. Відкриваємо Налаштування -> Конфігурація -> Новий документ.

Після виконаних дій відкриваємо розпакований (декомпільований) додаток, папку res/values.

Усі локалізації найчастіше знаходяться у файлі strings.xml, але іноді частина з них може міститися в arrays.xml. Копіюємо дані файли, створюємо в папці resпапку values-ruі вставляємо їх у неї.

Тепер можна відкрити strings.xmlза допомогою Notepad++, зробити переклад і зберегти змінений файл.

У файлі AndroidManifest.xmlможна вказати, куди встановлювати APK-програми. Увага, це актуально лише для версії Android 2.2 та новіших. Отже, відкриваємо цей файл за допомогою Notepad++. Майже на початку видно параметр:

Тут можна вказати такі варіанти (після символу "="):

internalOnly– програма буде встановлюватися лише у внутрішній пам'яті пристрою

auto– надає користувачеві вибір, встановлювати програму у внутрішню пам'ять або на картку пам'яті

preferExternal– програма встановлюватиметься на картку пам'яті. Потрібно враховувати, що не всі додатки коректно працюватимуть, якщо встановлені на зовнішньому накопичувачі, або взагалі виявляться не працездатними. До них відносяться:

Services- тобто, сервіси

Alarm Services– сервіси, які використовують час, наприклад будильники

Input Method Engines– програми для введення, у тому числі різні клавіатури

Live Wallpapers– «живі» анімовані шпалери

LiveFolders– відповідно, анімовані директорії

AppWidgets- Різні «віджети»

AccountManagers– менеджери різних облікових записів, у тому числі ICQ-клієнти, клієнти для соціальних мереж тощо

Sync Adapters– програми, які потребують постійної синхронізації

DeviceAdministrators– додатки, які використовуються для адміністрування

Copy Protection– програми, захищені від копіювання.

У програмі можна редагувати і замінювати на свої різні іконки та графічні елементи інтерфейсу користувача. Для цього відкриваємо папку resу папці з декомпільованим додатком APK, тут можна побачити папки:

drawable-hdpi

drawable-ldpi

У цих папках є всі іконки та інші графічні елементи програми. Літера перед "dpi" означає розмір графічних елементів, відповідно:

hdpi –висока щільність крапок на дюйм, розмір 72х72 пікселів

mdpi –середня щільність крапок на дюйм, розмір 48х48 пікселів

ldpi -низька щільність крапок на дюйм, розмір 36х36 пікселів

Щоб змінити, наприклад, іконку програми, відкриваємо файл AndroidManifest.xmlза допомогою програми Notepad++, шукаємо рядок, в якій зазначена іконка, дивимося точну її назву (зверніть увагу, розширення файлу не прописується, тільки ім'я файлу).

Відкриваємо відповідну папку drawable-*dpi,вставляємо відредаговану або нову іконку, не забуваємо перевіряти ще раз вихідну назву в AndroidManifest.xml. Картинка обов'язково повинна бути у форматі.png і мати таку саму щільність точок, як вихідний файл, наприклад для hdpiце 72х72 пікселя.

Якщо є бажання замінити назву іконки на своє, то зберігаємо картинку з бажаним ім'ям файлу drawable-*dpi, після чого вказуємо таке саме ім'я в AndroidManifest.xml(наприклад android:icon=»@drawable/test»). Так само можна змінити будь-які інші графічні елементи, але вимоги ті ж – обов'язково розширення.png і щільність точок на дюйм, як у вихідного файлу.

У розпакованому додатку можна перевіряти ще раз, які права є у нього. Це корисно, якщо APK було встановлено з невідомого джерела, і щоб не сталося ситуації, що ліхтарик чи гарний календар раптом почне надсилати платні SMS-повідомлення на невідомий номер. Відкриваємо AndroidManifest.xmlпрограмою Notepad++ та шукаємо відповідні рядки. За надсилання текстових повідомлень, наприклад, відповідає параметр SEND_SMS. Докладніше про всі права, які можуть бути доступні додатку, ви можете прочитати в .

Встановлені програми APK можна витягти з системи. Це можна зробити кількома способами. По-перше, можна встановити Astro File Manager. Відкриваємо програму, після чого в контекстному меню вибираємо пункт «Менеджер додатків». Шукаємо необхідну програму, помічаємо її галочкою і робимо резервну копію. Після проведеної обробки обраний додаток буде на шляху:

mntsdcardackupsapp

sdcardackupsapp

Далі можна використовувати програму Root Uninstaller. Після запуску програма самостійно визначить усі встановлені APK та автоматично зробить резервну копію всіх їх. Відповідно, можна, за бажання, скопіювати для подальшої декомпіляції ці резервні копії, вони знаходяться шляхом:

mntsdcardRootUnistallerautobackups(при перегляді безпосередньо з Android-пристрою)

sdcardRootUnistallerautobackups(при перегляді через комп'ютер, при цьому Android-девайс підключений як USB-накопичувач).

Ще один спосіб полягає у використанні Root Browser Lite, природно для цього знадобляться Root-права. Відкриваємо цей додаток, проходимо шляхом:

systemapp(якщо цікавлять системні програми).

Потрібні програми копіюємо на карту пам'яті, після чого з ними можна робити будь-які маніпуляції.

Також можна скачати програми APK, що цікавлять вас, з Google Play (Android Market) безпосередньо на персональний комп'ютер. Для цього знадобиться браузер Google Chrome (версія не нижче 17-ї), і плагін для нього – APK Downloader. Після скачування та встановлення вказаного плагіна, створюємо копію ярлика браузера Google Chrome, де прописуємо наступний рядок після пробілу:

-ignore-certificate-errors

При стандартному настановному шляху браузера, в рядку має вийти ось що:

"C:Program FilesGoogleChromeApplicationchrome.exe" -ignore-certificate-errors

Після цього в номеронабирачі смартфона вводимо:

*#*#8255#*#*

Переписуємо Device ID, що складається із 16 знаків. Відкриваємо Google Chrome за допомогою створеного ярлика із зазначеним параметром -ignore-certificate-errors, заходимо в Інструменти -> Розширення(можна також ввести адресний рядок «chrome://settings/extensions»), відкриваємо налаштування плагіна APK Downloader. В опціях вводимо адресу пошти та пароль вашого облікового запису Google, а також отриманий Device ID. Тепер заходимо на Google Play (Android Market), відкриваємо сторінку з потрібним додатком, чекаємо на повне її завантаження. З'явиться значок APK Downloader – після його натискання програма буде завантажена на комп'ютер.

Редагування системних програм Андроїд найчастіше здійснюється тоді, коли користувача смартфона, планшета чи іншого апарата, керованого цією операційною системою, перестає задовольняти поточний зовнішній вигляд програм, встановлених у девайсі виробником чи продавцем. Ще однією причиною може бути необхідність зробити не тільки зміни, що стосуються графічного оформлення додатків Андроїд, але також торкаються розташування різних елементів та виконання основних функцій.

Для того щоб вносити зміни до коду, потрібні елементарні навички програмування практично будь-якими мовами (бажано - Java та C++). Для заміни графіки згодяться прямі руки та вміння працювати у графічному редакторі.

Насамперед слід визначитися, чи потрібно просто замінити графіку в додатках Андроїд або необхідно змінювати розташування елементів у системі і робити глибші зміни в коді. Від цього залежать подальші кроки, що передбачають роботу з додатком як з архівом, або його повне розбирання і редагування.

Зміна графіки в системних додатках Андроїд

Для того щоб просто замінити або видозмінити вихідну графіку (поміняти кольори кнопок, перемалювати картинки тощо), достатньо мати на комп'ютері стандартний архіватор WinRAR. На апараті при цьому у користувача повинні бути права "рут" (аналог облікового запису адміністратора на Windows), а також бажано мати альтернативний рекавері (CWM) і рут-експлорер (для доступу до файлової системи Андроїд безпосередньо в самому девайсі).

В першу чергу необхідно включити в апараті «Налагодження USB», потім підключити його до комп'ютера за допомогою USB-кабелю та встановити необхідні драйвера. Зазвичай вони знаходяться на віртуальному диску, який з'являється під час підключення до комп'ютера.

Потім потрібно завантажити в мережі Інтернет ADB-плагін для файлового менеджера. Даний плагін дозволяє бачити всю систему Android як підключений диск з папками. Усі системні програми знаходяться за адресою /system/app, а також /system/framework. Знайшовши потрібну програму, просто копіюємо його на комп'ютер. Якщо плагін не ставиться, можна за допомогою рут-експлорера скопіювати програму з розширенням apk на SD-карту, що знімається, а потім вже з неї вже на комп'ютер.

Після копіювання потрібної програми можна приступати до редагування графіки. До речі, всі картинки в додатках Android зберігаються у форматі png, який легко відкривається будь-яким графічним редактором. Відкривши файл програми за допомогою WinRAR, можна побачити низку папок. Нас цікавитиме лише папка res, усередині якої виявиться, у свою чергу, дуже багато різних папок. З них потрібні лише ті, які мають у своїй назві слово «drawable».

Тепер пригадаємо наш тип девайса та дозвіл його екрану. Якщо це смартфон, а роздільна здатність дорівнює 240х320, то нас будуть цікавити переважно папки drawable і drawable-ldpi. Якщо роздільна здатність 320х480 - відповідно папки drawable і drawable-mdpi, а для дозволу 480х800 - папки drawable і drawable-hdpi. На додаток до них зазвичай є також папки, у назві яких є слово "land" - це графіка для портретного режиму, тобто. коли аксесуар нахиляють.

Якщо в руках планшет, то нас цікавитимуть лише папки drawable та drawable-mdpi при будь-якій роздільній здатності екрану.

Скопіювавши на комп'ютер вибрані папки, можна замінити або перефарбувати вихідні зображення на потрібні та приємні оку. Слід звернути особливу увагу на зображення з роздільною здатністю 9.png. Справа в тому, що по периметру такого зображення є особлива рамка шириною в один піксель зі спеціальними мітками, порушення цілісності яких призведе до збою в роботі програми. Тому необхідно дотримуватися підвищеної обережності під час редагування таких файлів.

Після завершення редагування папки потрібно закачати назад до архіву, яким виступає сама програма з розширенням apk. При цьому необхідно обов'язково вибирати WinRAR опцію «без стиснення».

Підправлений додаток закачується назад в апарат або за допомогою рут-експлорера (спочатку файл копіюється на SD-карту, а з неї вже в девайс), або після виходу в рекавері - відразу з комп'ютера в папку /system/app або /system/framework . Далі потрібно обов'язково виставити за допомогою відповідних опцій у рут-експлорері або плагіні ADB дозволу на файл. Вони мають бути формату 644. Після перезавантаження апарата можна переглянути результат роботи оновленої програми.

Редагування вихідного коду системних програм

Дещо більше зусиль потрібно витратити для редагування вихідного коду системних додатків. Щоб розібрати та зібрати програму після внесення до неї змін, знадобиться виконати кілька наступних кроків.

1) Встановити на комп'ютер необхідний пакет програм у їх останніх версіях: Java SE Runtime Environment та Android SDK Windows (програми для роботи з додатками та їх компонентами), APKtool або APKManager або Firmware_tool (одна з трьох програм для розбирання та декомпіляції системних програм), редактор NotePad++ (для внесення змін до вихідного коду системних програм Android).

2) Включити в апараті «Налагодження USB», підключити його до комп'ютера за допомогою USB-кабелю, встановити необхідні драйвера для роботи з девайсом.

3) За допомогою однієї з вищезгаданих програм для роботи з кодом програм необхідно витягти з телефону у відповідну папку програми папку /system/framework (повністю) та системні програми з папки /system/app. Наприклад, для програми Firmware_tool файли з телефону необхідно скопіювати до папки C:Firmwaretoolfw_project1_source2_system.img_unpacked у відповідні підпапки (додатки - до папки app, файли з framework - до папки framework). При використанні цієї, так і інших програм потрібно обов'язково прочитати інструкцію до них.

4) Встановити «опорний framework», тобто. набір правил, відповідно до яких буде здійснюватися декомпіляція (тобто розбирання коду) та компіляція (тобто складання коду) додатків.

На цьому підготовка до роботи із системними програмами завершена.

Вивантаження програм з девайсу та їх завантаження назад здійснюється аналогічно до процедури, описаної в розділі «Зміна графіки в системних додатках Андроїд».

Редагування коду програм Андроїд зазвичай виконується за допомогою редактора NotePad++ - одного з найзручніших текстових редакторів, які мають опцію підсвічування синтаксису вибраної мови програмування. Як правило, при редагуванні можна також принагідно змінювати графіку за допомогою вибраного графічного редактора.

Після завершення редагування змінена програма завантажується назад у девайс, а сам апарат потрібно перезавантажити. Більш просунуті редактори для налагодження програм перед їх закачуванням у девайс використовують різні емулятори, наприклад, Eclipse від Google.

Це знову я та мої інструкції для чайників та кавників з картинками.

На цей раз я докладно розповім про заміну системних компонентів ОС Android на прикладі встановлення модифікації рядка стану.

Android – це маленький Linux. У ньому треба дотримуватися ряду правил при заміні файлів, щоб телефон не перетворився на цеглу, оживити яку допоможе тільки повна перепрошивка з втратою всіх даних з внутрішньої пам'яті пристрою. Внутрішні розділи відформатовані у файлову систему, відмінну від FAT32 на флешках. У властивостях файлу зберігаються дозволи для різних груп користувачів (господар файлу, група господаря файлу, інші користувачі). При операції з системними файлами їх треба зберігати, тому що при завантаженні система просто може не зуміти отримати доступ до них і не завантажитися нормально.
Почнемо з інструментарію.

Нам знадобиться:

  • Менеджер файлів, який вміє працювати з root-правами та дозволами файлів. Найкраще підійде Root Explorer (Ви ж його купили, так?)
  • Сам модифікований файл, який ми хочемо покласти замість системного (посилання наприкінці статті).

Тепер використовуємо одну із зручних функцій Root Explorer. Зробимо довгий тап за потрібним файлом, щоб викликати контекстне меню

І клацаємо по пункту " Zip цей файл", щоб зберегти файл у zip-архіві на SD-карті. Після архівації отримаємо таке повідомлення:

Натискаємо кнопкою " Stay", щоб залишитися в папці і зробити ще щось.

Тепер все готове замінити файл.
Я вже говорив про права доступу кожного файлу. Щоб відтворити їх на новому файлі, треба спочатку подивитися їх у старого. Вони представлені рядом символів "rwxrwxrwx". 1-а тріада - права власника, 2-а - групи власника, 3-я - решти користувачів. Наш файл має право "rw-r--r--".

Тепер переходимо на SD-карту, знаходимо там модифікований файл і з контекстного меню вибираємо пункт " Copy", але не поспішаємо вибирати одразу папку "/system/app", тому що ми тут же пошкодимо систему. Натомість копіюємо файл у спеціальну папку для тимчасових файлів "/data/local/tmp", щоб привести файл у вигляд, який прийме система.
Для початку викличемо контекстне меню файлу та оберемо пункт " Renameі введемо ім'я файлу "SystemUI.apk". Саме так, тому що в Linux регістр літер в імені має значення, тобто "systemui.apk" і "SystemUI.apk" - це різні файли.
Далі треба змінити права на файл, тому що зараз майже напевно виставлені неправильно. Для цього знову викликаємо контекстне меню файлу довгим тапом та вибираємо пункт " Permissions". Для нашого значення "rw-r--r--" прапорці треба розставити так:

Натискаємо " OK" і знову викликаємо контекстне меню. Тепер треба змінити власника та групу для цієї програми. Для цього вибираємо пункт " Змінити власникаЗ'явиться вікно з інформацією про поточного власника файлу.
Тут треба зробити маленький відступ.
У папці "/system/app" всіма файлами володіє користувач "root" (uid=0) та група "root" (gid=0), а в папці "/system/framework" панує користувач "system" (gid=1000) та група "system" (gid=1000).
Виходячи з вищесказаного, виставляємо потрібні значення та натискаємо " OK".
І втретє викликаємо контекстне меню для файлу та в ньому вибираємо пункт " Copy" і в діалозі копіювання переходимо до папки "/system/app ". Тепер сміливо натискаємо " Pasteі читаємо далі уважно.
Майже одночасно система повідомить, що процес рядка стану раптово завершився, і запропонує його запустити. Усі спроби будуть невдалими. Між появами вікон треба встигнути зробити низку дій. Перед натисканням кнопки треба викликати меню вимкнення апарата, воно опиниться під попередженням. Тепер треба розташувати палець приблизно на лівій стороні кнопки. Тепер треба дуже швидко клацнути три рази пальцем, що встигнути закрити попередження, вибрати пункт вимкнення та підтвердити свої наміри.
Тепер чекаємо вимикання телефону, заново його запускаємо та насолоджуємося результатом або не насолоджуємось та шукаємо помилки.

З цієї статті ви дізнаєтеся з чого складається додаток для андроїд, як відкрити APK файл і за допомогою яких програм.

Що таке файл APK?

APK - формат операційної системи Android, що використовується для архівних виконуваних файлів-додатків, причому назва самого файлу може бути будь-яким, а ось розширення має виглядати тільки так. Аналогами APK в інших ОС є в Windows .msi, Symbian - .sis, в Linux - .rpm або .deb.

Дивимося, що всередині
По суті.apk це ZIP архів, тому подивитися на внутрішній пристрій можна скориставшись будь-яким файловим менеджером або архіватором, наприклад, WinRAR або мобільним додатком X-plore.





При цьому варто пам'ятати, що ви отримуєте лише візуальний доступ до внутрішніх ресурсів, можливості редагування вкрай обмежені.
Розглянемо структуру
Всередині.apk ми бачимо ряд файлів та папок, давайте дізнаємося для чого вони служать:
  • AndroidManifest.xml - це свого роду "паспорт" програми з якого можна дізнатися про всі основні моменти, вимоги, версію, дозволи та інше.
  • META-INF цей фаїл містить метадані, тобто дані про дані, контрольні суми, шляхи до даних, шляхи та контрольні суми ресурсів, сертифікати. Відкрити цей файл можна будь-яким текстовим редактором, але рекомендується використовувати Notepad++.
  • Папка res містить усі ресурси програми, графічні, такі як іконки, картинки, текстові, елементи графічного інтерфейсу. Отримати доступ до папки так само можна легко.
  • classes.dex - безпосередній програмний код програми, що виконується віртуальною машиною Dalvik VM, побачити що всередині цього файлу можна лише декомпілювавши.apk, про це ми розповімо в інших статтях. resources.arsc -компільований файл XML, цей файл містить дані про всі ресурси задіяних у програмі.
  • lib – папка з нативними бібліотеками, отримати доступ до ресурсів якої можна лише при використанні спеціалізованих програм. Так само в APK можуть зустрічатися такі файли та папки як com, org, udk, але далеко не завжди.

Тепер розглянемо внутрішню структуру докладніше для цього нам знадобиться програма декомпіляції, Java і АПК-файл. Основним інструментом для разборки.apk є Apktool, але ця програма працює тільки з рядка, що не дуже зручно. Для більш швидкого та зручного розбору можна використовувати APKing, це все та сама Apktool, але з можливістю роботи з контекстного меню.
І так встановлюємо APKing як будь-який додаток для Windows і вибравши.apk натискаємо на нього правою клавішею миші і одночасно Shift, після чого побачимо наступне:


І вибираємо необхідну дію, наприклад декомпілювати повністю, далі програма завершить операцію та створить папку з такою самою назвою.


Відкривши папку, ми отримаємо доступ до всіх ресурсів АПК файлу.


Тепер всі текстові файли можна редагувати, при цьому дотримуючись основних правил, можна використовувати популярну програму Notepad++, наприклад розглянемо AndroidManifest.xml

Програми для платформи Андроїд є єдиним файлом з розширенням apk, що дуже зручно. Фактично встановлення будь-якої програми на смартфоні або планшеті зводиться до простого копіювання на ваш гаджет. Що ж таке apk-файл і як можна побачити, що там усередині?

Що таке файл APK?

Абревіатура APK розкривається як Android Package Kit - пакет файлів для Android-додатків, що виконується. Це архів, що містить скомпільовані та готові до виконання коди та інші ресурси. apk-файли зберігаються на сайтах Інтернету, на зразок Google Play, звідки їх можна завантажити та встановити у свій гаджет. Вони не піддаються шифруванню.

Його структура підготовлена ​​розробником для запуску серед віртуальної машини Dalvik або ART. Ці машини вбудовані в ОС Андроїд, вони-то і запускають усі додатки, які є на вашому пристрої.

Сам файл apk є звичайним архівом, який можна відкрити будь-яким архіватором у середовищі Windows. Наприклад, WinRAR, або файловий менеджер, який відкриває ZIP-архіви. Давайте подивимося, що там усередині знаходиться.

  • Виконуваний файл з розширенням dex (ім'я може бути будь-яке), який і є кодом програми.
  • Поруч із ним лежить resources.arsc, це реєстр ресурсів, які має використовувати програма. Це структура у форматі XML.
  • AndroidManifest.xml – це обов'язковий файл будь-якої програми, маніфест, який містить головні відомості про неї. Тут можуть бути записані, наприклад, версія програми, необхідна версія Андроїда, дані про розробника, необхідні роздільні здатності екрану, і так далі.
  • Каталог res містить внутрішні ресурси, які потрібні програмі для роботи. Тут можуть бути всі картинки, значки, іконки, карти і так далі.
  • Каталог lib – нативні бібліотеки для роботи програми, наприклад, код C++. Цей каталог може бути відсутнім, якщо бібліотеки не використовуються.
  • Каталог assets – додаткові ресурси для програми, також може бути відсутнім. Які ресурси повинні використовуватися, описано у файлі resources.arsc.
  • Каталог META-INF – метадані програми. Наприклад, файл MANIFEST.MF, в якому можуть бути шляхи до даних та їх контрольні суми. Тут можуть зберігатися файли сертифікатів RSA, відомості про версію Manifest-Version тощо службова інформація.

Огляд популярних редакторів АРК-файлів

Як уже говорилося, розпакувати apk-файл можна будь-яким ZIP-архіватором. Після цього можна буде переглядати ресурси, що зберігаються там.

Із зображеннями не буде проблем зовсім, їх можна відкривати у будь-якій відповідній програмі. Формат XML відкривається будь-яким текстовим редактором, наприклад Notepad++. Якщо знати, як влаштований цей формат, їх вже можна редагувати. Але для скомпілованих виконуваних файлів доведеться використовувати спеціальні засоби.

Редактор Eclipse. Це повноцінне кросплатформове середовище для програміста. Можна вести розробку будь-якими сучасними мовами і готувати файли, в тому числі і для Андроїда. Середовище може гнучко налаштовуватись за допомогою численних плагінів.

Android SDK. Як зрозуміло з назви, цей спеціалізований засіб для розробки мобільних програм саме під Андроїд. З його допомогою можна легко декомпілювати файли чужої програми, що виконуються, або написати власне з нуля. Відрізняється тим, що за бажанням підключає різні модулі для налагодження та тестування вашого коду, для тестування програм на сумісність із різними гаджетами тощо.

APK downloader. Це плагін для браузера Chrome, що дозволяє легко завантажувати apk-програми з будь-яких сайтів і переглядати їх структуру. Для цього можна навіть не бути зареєстрованим на Google Play.

APK Editor. Редактор дозволяє працювати з ресурсами всередині apk-пакетів. Не настільки потужний, як Eclipse, але вирішальний багато простих завдань. Наприклад, можна прибрати рекламні блоки з програми, русифікувати інтерфейс, замінити значки або текстури на свої та багато іншого.


Top