Програми за редактиране на apk за android. Как да редактирате apk файлове на вашия компютър

Програмите за платформата Android са един файл с разширение apk, което е много удобно. Всъщност инсталирането на всяка програма на смартфон или таблет се свежда до нейното просто копиранекъм вашата джаджа. Какво е apk файл и как можете да видите какво има вътре?

Какво е APK файл?

Съкращението APK означава Android Package Kit – изпълним пакет от файлове за Android приложения. Това е архив, съдържащ компилирани и готови за изпълнение кодове и други ресурси. apk файловете се съхраняват в интернет сайтове като Google Play, където можете да ги изтеглите и инсталирате на вашата джаджа. Те не са криптирани.

Структурата му е подготвена от разработчика за работа в среда на виртуална машина Dalvik или ART. Тези машини са вградени в операционната система Android и изпълняват всички приложения, които са на вашето устройство.

Самият apk файл е обикновен архив, който можете да отворите с всеки архиватор Windows среда. Например WinRAR или файлов мениджър, който отваря ZIP архиви. Да видим какво има вътре.

  • Изпълним файл с разширение dex (името може да е произволно), което е точно програмният код.
  • До него е resources.arsc, това е регистър на ресурсите, които програмата трябва да използва. Това е структура в XML формат.
  • AndroidManifest.xml е задължителен файл за всяка програма, манифест, съдържащ основна информация за нея. Тук например могат да бъдат записани версията на програмата, необходимата версия на Android, информация за разработчика, необходимите разделителни способности на екрана и т.н.
  • Директорията res съдържа вътрешни ресурси, необходими на програмата, за да работи. Всички снимки, икони, икони, карти и т.н. могат да бъдат тук.
  • Директорията lib – собствени библиотеки за изпълнение на програмата, например C++ код. Тази директория може да не присъства, ако библиотеките не се използват.
  • Директорията с активи е допълнителен ресурс за приложението и понякога може да липсва. Кои ресурси трябва да се използват е описано във файла resources.arsc.
  • META-INF директория – метаданни на програмата. Например файлът MANIFEST.MF, който може да съдържа пътища до данни и техните контролни суми. Тук могат да се съхраняват RSA сертификати, информация за версията на манифеста и подобна информация за услугата.

Преглед на популярни редактори на ARK файлове

Както вече споменахме, можете да разопаковате apk файла с помощта на всеки ZIP архиватор. След това ще можете да видите съхраняваните там ресурси.

Няма да има никакви проблеми с изображенията, те могат да бъдат отворени във всяка подходяща програма. XML форматът може да се отвори с всеки текстов редактор, например Notepad++. Ако знаете как работи този формат, тогава вече можете да ги редактирате. Но за компилирани изпълними файлове ще трябва да използвате специални инструменти.

Редактор на Eclipse. Това е цялостна междуплатформена среда за програмист. Можете да разработвате на всички съвременни езици и да подготвяте изпълними файлове, включително за Android. Средата може да бъде гъвкаво персонализирана с помощта на множество добавки.

SDK за Android. Както подсказва името, това е специализиран инструмент за разработка мобилни програмиспециално за Android. С негова помощ можете лесно да декомпилирате изпълнимите файлове на нечие друго приложение или да напишете свое собствено от нулата. Различава се по това, че по желание свързва различни модули за отстраняване на грешки и тестване на вашия код, за тестване на програми за съвместимост с различни джаджи и т.н.

APK програма за изтегляне. Това е плъгин за Браузър Chrome, което прави много лесно изтеглянето на apk програми от всеки сайт и преглед на тяхната структура. За да направите това, дори не е нужно да сте регистрирани в Google Play.

APK редактор. Редактор, който ви позволява да работите с ресурси в apk пакети. Не е толкова мощен като Eclipse, но решава много прости проблеми. Например, можете да премахнете рекламни блокове от програмата, да русифицирате интерфейса, да замените икони или текстури със свои собствени и много други.

APK е формат, използван в операционната система Android за архивирани изпълними файлове на приложения. Аналогът например в Windows е .msi, в Symbian - .sis, в Linux - .rpm или .deb. В тази статия ще разберем възможно най-подробно всички проблеми, свързани с този файлов формат.

Процесът на разглобяване, редактиране и „правилно“ сглобяване се нарича обратно инженерство. Какво е необходимо за това? Необходими са следните инструменти:

Apktool. По-удобно е да се използва с обвивката на SmartApktool; можете да използвате и готови пакетни файлове, например ApktoolBAT.

Notepad++ - не е задължително, но силно препоръчително.

7zip или WinRar, или друга програма за архивиране, но една от тях е препоръчителна.

Деодексиран фърмуер.

Има няколко начина за инсталиране на приложения в операционната система Android. Първият, също и основен, е директно през Google Play (Android Market), тоест от официален източник, което изисква акаунт в Google. Много приложения са платени, ако не искате да търсите хакната версия на пиратски сайтове, ще трябва да платите за покупката. Но ние ще говорим за това как да направите това в. Второто е от неофициални източници, различни от Google Play, за което ще трябва да активирате опцията „Разрешаване на инсталиране на приложения от неофициални източници“ в настройките на вашия смартфон или таблет, след което инсталационният APK файл трябва да бъде записан в паметта карта.

Възможен е и монтаж в насипно състояние APK приложения. Това изисква Astro Файлов мениджър– специален файлов мениджър. След като го инсталирате, преместете приложенията:

От смартфон/таблет: в mntsdcardackupsapp(с други думи, карта с памет, след това папка с резервни копия, папка с приложения)

От персонален компютър (не забравяйте да активирате връзката на устройството с Android в обикновен режим на USB устройство): sdcardрезервни копияап

След това отворете желаното приложение, изберете „Мениджър на приложения“ в контекстното меню и отидете в раздела „Архивиране“, където изберете „Продължително щракване или отметка на приложението за инсталиране“. Щракнете върху бутона „Инсталиране“ - всички приложения ще бъдат инсталирани на вашето устройство.

Доста лесно е да видите каква е структурата на APK файл. Отворете желания APK с помощта на програма за архивиране, например WinRar. Ето какво виждаме вътре:

AndroidManifest.xmlе вид „паспорт“, който описва какво има в приложението, включително: Системни изискваниякъм приложението, неговата структура и версия.

МЕТА-ИНФ– папка, съдържаща файла МАНИФЕСТ.MF(може да се отвори с почти всеки текстов редактор, препоръчително е да използвате Notepad++), отваряйки който можете да видите контролните суми на SHA-1 и пътищата на данните, версията на стандарта Manifest-Version, RSA или DSA сертификатни файлове, SF файлът съдържа пътища до различни ресурси и техните контролни суми. Като цяло META-INF са файлове с метаданни, тоест данни за данни.

рез– папка, която съдържа всички ресурси за „софтуерно пълнене“, сортирани в подпапки. Например папката ~drawable~ съдържа графични елементи на приложения (различни състояния, икони и т.н.), а директорията за оформление съдържа XML файлове, които показват разположението на елементите на графичния потребителски интерфейс (GUI).

classes.dex– изпълнен програмен код виртуална машина Dalvik VM. Нека си припомним, че операционната система Android е смесица от ядрото на Linux и виртуалната машина Java.

ресурси.arsc– компилиран XML файл. Съдържа данни за всички ресурси, които се използват от програмата.

активи– папка, която също съдържа различни ресурси; може изобщо да не е в APK.

либ– папка, която съдържа „libs“ или по-просто родни библиотеки, ако програмата е написана с помощта на NDK, например с елементи, когато C++. Тази директория може да не е в APK.

com– може да не е в APK.

орг– може да не е в APK.

udk– може да не е в APK.

Разбрахме се със съдържанието на приложението APK, сега нека преминем към подробното му разглобяване. За декомпилация ще ви трябват Apktool и Java, както и самия APK файл. Apktool се препоръчва да се разопакова в директория ° С:WINDOWS(това не е необходимо, но ще бъде по-удобно. Защо – прочетете малко по-надолу).

За да стартирате Apktool, трябва да влезете в менюто „Run“ на вашия компютър. В Windows XP щракнете Старт -> Изпълнение, в Windows 7: Диспечер на задачите ( Ctrl+Alt+Дел), в горната част на падащото меню Файл -> Нова задача (Изпълни...), или просто да го извикате с клавишна комбинация Win+R.

Обаждане командна линия- ние пишем cmd, след което стартираме Apktool - пишете apktool(за целта беше необходимо да го поставите в папка WINDOWS). Освен това целият контрол се осъществява чрез командния ред с помощта на параметри.

Ако не искате да се занимавате с постоянно въвеждане на текстови команди, можете да използвате графичен интерфейс - например споменатия SmartApkTool. Стартирайте SmartApkTool.exe, след което изберете желаното APK приложение в раздела Unpack/Pack (важно е името на файла да не съдържа интервали, кирилица, специални знаци и препинателни знаци).

След разопаковането програмата ще създаде папка със същото име като APK файла. Вътре ще бъде цялото съдържание на приложението.

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

След тези стъпки отворете разопакованото (декомпилирано) приложение, папка res/стойности.

Всички локализации често се намират във файла струни.xml, но понякога някои от тях може да се съдържат в масиви.xml. Копирайте тези файлове и ги създайте в папка резпапка стойности-ruи ги вкарайте в него.

Сега можете да отворите струни.xmlкато използвате Notepad++, направете превода и запазете променения файл.

Във файл AndroidManifest.xmlМожете да посочите къде да инсталирате APK приложения. Моля, имайте предвид, че това важи само за Android версии 2.2 и по-нови. И така, отворете посочения файл с помощта на Notepad++. Почти в самото начало можете да видите параметъра:

Тук можете да посочите следните опции (след символа „=“):

вътрешни само– приложението ще се инсталира само във вътрешната памет на устройството

Автоматичен– предоставя на потребителя избор за инсталиране на приложението вътрешна паметили към карта с памет

preferExternal– програмата ще бъде инсталирана на картата с памет. Моля, имайте предвид, че не всички приложения ще работят правилно, ако са инсталирани на външно хранилище, или изобщо няма да работят. Те включват:

Услуги- тоест услуги

Алармени услуги– услуги, които използват време, като будилници

Двигатели за метод на въвеждане– приложения за въвеждане, включително различни клавиатури

Живи тапети– „жив“ анимиран тапет

На живоПапки– съответно анимирани директории

ПриложениеДжаджи– различни „джаджи“

СметкаМениджъри– мениджъри на различни акаунти, включително ICQ клиенти, клиенти за социални мрежии така нататък

Синхронизиращи адаптери– програми, изискващи постоянна синхронизация

устройствоАдминистратори– приложения, които се използват за администриране

Защита срещу копиране– приложения, които са защитени от копиране.

В приложението можете да редактирате и заменяте различни икони и графични елементи на потребителския интерфейс със свои собствени. За да направите това, отворете папката резв папката с декомпилираното APK приложение, тук можете да видите папките:

drawable-hdpi

drawable-ldpi

Тези папки съдържат всички икони и други графични елементи на програмата. Буквата преди “dpi” означава съответно размера на графичните елементи:

hdpi -висока плътност на точките на инч, размер 72x72 пиксела

mdpi -средна плътност на точките на инч, размер 48x48 пиксела

лdpi -ниска плътност на точките на инч, размер 36x36 пиксела

За да промените например иконата на приложението, отворете файла AndroidManifest.xmlкато използвате програмата Notepad++, потърсете реда, в който е посочена иконата, вижте точното й име (имайте предвид, че разширението на файла не е записано, а само името на файла).

Отворете съответната папка чертаем-*dpi,вмъкнете редактираната или нова икона, не забравяйте да проверите отново оригиналното име AndroidManifest.xml. Изображението трябва да е във формат .png и да има точно същата плътност на пикселите като изходния файл, например за HDPIтой е 72x72 пиксела.

Ако искате да замените името на иконата с вашето собствено, запазете снимката с желаното име на файл чертаем-*dpi, след което посочваме точно същото име в AndroidManifest.xml(Например android:icon=”@drawable/тест"). По същия начин можете да промените всички други графични елементи, но изискванията са същите - разширението трябва да е .png и плътността на точките на инч е същата като на изходния файл.

В разопакованото приложение можете да проверите отново какви права има. Това е полезно, ако APK е инсталиран от неизвестен източник и за избягване на ситуация, при която фенерче или красив календар внезапно започват да изпращат платени SMS съобщения до непознат номер. Отваряне AndroidManifest.xmlПрограма Notepad++ и потърсете съответните редове. За изпращане на текстови съобщения, например, отговаря параметърът SEND_SMS. Можете да прочетете повече за всички права, които могат да бъдат достъпни за приложение в.

Инсталираните APK приложения могат да бъдат извлечени от системата. Това може да стане по няколко начина. Първо, можете да инсталирате Astro File Manager. Отворете приложението, след което изберете „Мениджър на приложения“ от контекстното меню. Търсим необходимото приложение, маркираме го с отметка и правим резервно копие. След обработка избраното приложение ще бъде разположено по пътя:

mntsdcardackupsapp

sdcardackupsapp

След това можете да използвате Руут програмаДеинсталатор. Веднъж стартирано, приложението автоматично ще открие всички инсталирани APK файлове и автоматично ще архивира всички тях. Съответно можете, ако желаете, да ги копирате за по-нататъшно декомпилиране резервни копия, те са по пътя:

mntsdcardRootUnistallerавтоматични резервни копия(когато се гледа директно от устройство с Android)

sdcardRootUnistallerавтоматични архиви(когато се гледа през компютър, докато устройството с Android е свързано като USB устройство).

Друг начин е да използвате Root Browser Lite, разбира се, ще ви трябват Root права за това. Отваряне това приложение, следваме пътя:

системаап(ако се интересувате от системни приложения).

Копираме необходимите приложения на картата с памет, след което можете да извършвате всякакви манипулации с тях.

Можете също да изтеглите APK приложения, които ви интересуват, от Google Play (Android Market) директно на Персонален компютър. За това ще ви трябва браузър Google Chrome(версия не по-ниска от 17), а плъгинът за него е APK Downloader. След като изтеглите и инсталирате посочения плъгин, създайте копие на прекия път на браузъра Google Chrome, където пишем следния ред след интервал:

-ignore-сертификат-грешки

При стандартния път за инсталиране на браузъра редът трябва да изглежда така:

„C:Program FilesGoogleChromeApplicationchrome.exe“ -игнориране-грешки-сертификат

След това въведете в набирача на смартфона:

*#*#8255#*#*

Пренаписваме Device ID, който се състои от 16 знака. Отворете Google Chrome, като използвате създадения пряк път с посочения параметър -ignore-сертификат-грешки, Хайде да отидем до Инструменти -> Разширения(можете също да въведете „chrome://settings/extensions“ в адресната лента), отворете настройките на приставката за изтегляне на APK. В опциите въведете своя имейл адрес и парола сметка Google, както и полученият Device ID. Сега отидете в Google Play (Android Market), отворете страницата с желаното приложение, изчакайте да се изтегли напълно. Ще се появи иконата на APK Downloader - след като щракнете върху нея, приложението ще бъде изтеглено на вашия компютър.

От тази статия ще научите от какво се състои приложение за Android, как да отворите APK файли с какви програми.

Какво е APK файл?

APK - операционен формат Android системи, използван за архивирани изпълними файлове на приложения, а името на самия файл може да бъде всяко, но разширението трябва да изглежда само така.apk. Аналозите на APK в други операционни системи са .msi в Windows, .sis в Symbian, .rpm или .deb в Linux.

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





Струва си да запомните, че получавате само визуален достъп до вътрешни ресурси; възможностите за редактиране са изключително ограничени.
Нека да разгледаме структурата
Вътре в .apk виждаме редица файлове и папки, нека да разберем за какво служат:
  • AndroidManifest.xml е един вид „паспорт“ на приложението, от който можете да разберете всички основни точки, изисквания, версия, разрешения и т.н.
  • META-INF този файл съдържа метаданни, тоест данни за данни, контролни суми, пътища към данни, пътища и контролни суми на ресурси, сертификати. Можете да отворите този файл с всеки текстов редактор, но се препоръчва да използвате Notepad++.
  • Папката res съдържа всички програмни ресурси, графики, като икони, картини, текст, елементи GUI. Можете също така лесно да получите достъп до папката.
  • classes.dex е директният програмен код, изпълняван от виртуалната машина Dalvik; можете да видите какво има вътре в този файл само чрез декомпилиране на .apk; resources.arsc - компилиран XML файл, този файл съдържа данни за всички ресурси, включени в програмата.
  • lib - папка с родни библиотеки, ресурсите на които могат да бъдат достъпни само при използване на специализирани програми. APK може също да съдържа файлове и папки като com, org, udk, но не винаги.

Сега нека разгледаме по-подробно вътрешната структура; за това се нуждаем от програма за декомпилиране, Java и APK файл. Основният инструмент за разглобяване на .apk е Apktool, но тази програмаРаботи само от линия, което не е много удобно. За по-бърз и удобен анализ можете да използвате APKing, това все още е същият Apktool, но с възможност за работа от контекстното меню.
И така, ние инсталираме APKing като всяко приложение за Windows и след като сме избрали .apk, щракнете върху него с десния бутон на мишката и Shift едновременно, след което ще видим следното:


И изберете необходимото действие, например декомпилирайте напълно, след което програмата ще завърши операцията и ще създаде папка със същото име.


Отваряйки папката ще имаме достъп до всички ресурси на APK файла.


Това е текстови файловеможете да редактирате, като същевременно спазвате основните правила, можете да използвате популярната програма Notepad++, например разгледайте AndroidManifest.xml

Редактирането на системни приложения на Android най-често се извършва, когато потребителят на смартфон, таблет или друго устройство, контролирано от това операционна система, престава да задоволява тока външен видпрограми, инсталирани на устройството от производителя или продавача. Друга причина може да бъде необходимостта да се направят не само промени по отношение на графичния дизайн на приложенията за Android, но и да се засегне местоположението на различни елементи и изпълнението на основните функции.

За да направите промени в кода, са необходими основни умения за програмиране на почти всеки език (за предпочитане Java и C++). За да замените графики, правите ръце и способността да работите в графичен редактор ще свършат работа.

На първо място, трябва да решите дали просто трябва да замените графиките в приложенията за Android или трябва да промените подредбата на елементите в системата и да направите по-дълбоки промени в кода. От това зависят по-нататъшните стъпки, които включват или работа с приложението като архив, или пълното му разглобяване и редактиране.

Промяна на графики в системни приложения Android

За да замените или модифицирате оригиналната графика (промяна на цветовете на бутоните, преначертаване на картини и т.н.), е достатъчно да имате стандартен WinRAR архиватор на вашия компютър. На устройството потребителят трябва да има „root“ права (аналогично на администраторски акаунт в Windows), а също така е препоръчително да има алтернативно възстановяване (CWM) и root explorer (за достъп файлова система Android директно в самото устройство).

Първо, трябва да активирате „USB Debugging“ в устройството, след това да го свържете към компютъра с помощта на USB кабел и да инсталирате необходимите драйвери. Те обикновено се намират на виртуален диск, който се появява, когато се свържете с вашия компютър.

След това също трябва да изтеглите приставката ADB от интернет за файлов мениджър. Този плъгин ви позволява да видите цялата система Android като свързан диск с папки. Всички системни приложения се намират в /system/app, както и в /system/framework. След като намерите необходимото приложение, просто го копирайте на вашия компютър. Ако плъгинът не е инсталиран, можете да използвате root explorer, за да копирате приложението с apk разширението на сменяема SD карта и след това от нея на компютъра.

След копиране желаното приложениеМожете да започнете да редактирате графики. Между другото, всички снимки в приложенията за Android се записват в png формат, който може лесно да се отвори с всеки графичен редактор. Когато отворите файла на приложението с помощта на WinRAR, можете да видите поредица от папки. Ще се интересуваме само от папката res, вътре в която ще намерим на свой ред много различни папки. От тях са необходими само тези, които имат думата "drawable" в името си.

Сега нека си спомним типа на нашето устройство и неговата разделителна способност на екрана. Ако това е смартфон и резолюцията е 240x320, тогава ще ни интересуват основно папките drawable и drawable-ldpi. Ако резолюцията е 320x480 - съответно папките drawable и drawable-mdpi, а за резолюция 480x800 - папките drawable и drawable-hdpi. В допълнение към тях обикновено има и папки, чиито имена съдържат думата „земя“ - това са графики за портретен режим, т.е. когато устройството е наклонено.

Ако имате таблет в ръцете си, тогава ще се интересуваме само от папките drawable и drawable-mdpi при всяка резолюция на екрана.

Като копирате избраните папки на вашия компютър, можете да замените или преоцветите оригиналните изображения с тези, от които се нуждаете и са приятни за окото. Трябва да обърнете специално внимание на снимки с резолюция 9.png. Факт е, че по периметъра на такова изображение има специална рамка с ширина един пиксел със специални маркировки, чието нарушаване на целостта ще доведе до неизправност на приложението. Следователно трябва да се внимава изключително много, когато редактирате такива файлове.

След като редактирате папката, трябва да я качите обратно в архива, което е самото приложение с apk разширение. В този случай е необходимо да изберете опцията „без компресия“ в WinRAR.

Коригираното приложение се изтегля обратно на устройството или чрез root explorer (първо файлът се копира на SD картата, а от нея в устройството), или след излизане от възстановяване - директно от компютъра в /system/app или / системна/рамкова папка. След това трябва да зададете разрешения за файлове, като използвате подходящите опции в root explorer или ADB плъгин. Те трябва да са във формат 644. След като рестартирате устройството, можете да видите резултата от актуализираното приложение.

Редактиране на изходния код на системни приложения

Отнема малко повече усилия за редактиране на изходния код на системните приложения. За да разглобите и сглобите отново приложението, след като направите промени в него, ще трябва да изпълните следните няколко стъпки.

1) Инсталирайте необходимия софтуерен пакет на вашия компютър в техните най-новите версии: Java SE Runtime Environment и Android SDK Windows (програми за работа с приложения и техните компоненти), APKtool или APKManager или Firmware_tool (една от трите програми за разглобяване и декомпилиране на системни приложения), NotePad++ редактор (за извършване на промени в източниксистемни приложения за Android).

2) Активирайте „USB Debugging“ в устройството, свържете го към компютъра с помощта на USB кабел, инсталирайте необходимите драйвери за работа с устройството.

3) Използвайки една от гореспоменатите програми за работа с кода на приложението, трябва да извлечете папката /system/framework (изцяло) и системните приложения от папката /system/app от телефона в съответната папка на програмата. Например, за програмата Firmware_tool, файловете от телефона трябва да бъдат копирани в папката C:Firmwaretoolfw_project1_source2_system.img_unpacked в съответните подпапки (приложения - в папката с приложения, файлове от framework - в папката framework). Когато използвате както тази, така и други програми, не забравяйте да прочетете инструкциите за тях.

4) Инсталирайте „рамката за поддръжка“, т.е. набор от правила, в съответствие с които ще се извършва декомпилиране (т.е. разглобяване на код) и компилиране (т.е. асемблиране на код) на приложения.

Това завършва подготовката за работа със системни приложения.

Разтоварването на приложения от устройството и зареждането им обратно се извършва подобно на процедурата, описана в раздела „Промяна на графики в системни приложения на Android“.

Редактирането на кода на приложението за Android обикновено се извършва с помощта на редактора NotePad++ - един от най-удобните текстови редактори, с възможност за осветяване на синтаксиса на избрания език за програмиране. Като правило, когато редактирате, можете също да промените графиките по пътя, като използвате избрания графичен редактор.

След завършване на редактирането модифицираното приложение се изтегля обратно на устройството, а самото устройство трябва да се рестартира. По-напредналите редактори използват различни емулатори, например Eclipse от Google, за отстраняване на грешки в приложения, преди да ги изтеглят на устройството.

Публикации по темата