Руководства, Инструкции, Бланки

инструкция Smartapktool img-1

инструкция Smartapktool

Рейтинг: 4.7/5.0 (1631 проголосовавших)

Категория: Инструкции

Описание

Декомпиляция и Компиляция APK приложения Android (Видео) - Android 1

Декомпиляция и Компиляция APK приложения Android (Видео)

Для того чтобы редактировать APK приложения. Прежде всего их нужно декомпилировать, а после скомпилировать! Как это сделать и чем можно узнать в этом уроке.

В прошлом уроке вы узнали из чего состоят основные внутренности приложения, а также что данные что APK приложения (в дальнейшем просто APK) можно открыть архиватором, но что либо изменить у вас не получиться! Нужна Декомпиляция APK приложения Android!

Содержание:
  1. Необходимые инструменты
  2. Настройка
  3. Декомпиляция приложения с помощью Apktool через командную строку
  4. Компиляция приложения с помощью Apktool через командную строку
  5. Что необходимо чтобы работать с системными APK
  6. Графические надстройки утилиты ApkTool
Декомпиляция и Компиляция APK приложения Android
Необходимые компоненты
Настройка Java

После установки Java JDK. необходимо, добавить ее в переменную Windows. Если кто не понял официальное куроводство то,

Перейдите в меню Дополнительные настройки:

(Мой) Компьютер ->Свойства системы->Дополнительные параметры системы->Дополнительно->Системные переменные->Правка

Java JDK настроена!

Настройка ApkTool
  1. Создать папку на диске C:\ и в нее переместить файлы apktool_x_x.jar и apktool.bat
  2. Файл apktool_x_x.jar переименовать в apktool.jar

Если появилось наподобие такой вывод информации, то все сделано правильно.

Декомпиляция APK

Чтобы декомпилировать приложение, скопируйте файл APK приложения в папку где находится apktool . далее необходимо выполнить вот что, в командной строке ввести команду:

apktool d название.apk

После того как вы отредактируете или русифицируете APK, его надо компилировать обратно.

Компиляция APK

Вводим в командной строке:

После чего перейдите в папку проекта ( в данном случае папка browser ) и вы увидете две новые папки:

Если папки dist не обнаружили, значит apktool не смог собрать редактируемый проект, причиной тому может быть то, что имения которые вы вносили(«поломали») не позволяют собрать приложение apk.

После компиляции приложения apk его необходимо подписать.

Подпись APK
  1. Для этого Вам надо разархивировать архив Sign Android ;
  2. Скопировать готовое приложение в папку с распакованным Sign Android;
  3. Потянуть приложение на файл Sign_APK.bat после чего приложение будет подписано!

Готовое подписанное приложение будет носить название apk_signed.apk

Работа с системными APK

Для того чтобы модифицировать системные приложения необходимо прежде всего необходимо скормить программе APKTOOL системный файл framework -res.apk который находиться в системном разделе Android :

Для того чтобы скормить Apktool данный файл необходимо, ввести команду:

Учитывайте что, команду нужно вводить относительно пути расположения, то есть если файл framework -res.apk находиться в папке C:\primer, то команда будет выглядеть следующим обзором:

apktool if С:\primer\framework -res.apk

Также для того чтобы можно было модифицировать системные файлы прошивка должна быть вначале Deodex -ирована.

Теперь как это можно все упросить! (не использовать командную строку)

Скачайте приложение SmartApkTool. данное программа имеет графический интерфейс и очень легкая в использование. Автор данной программы мой хороший друг Никита Коровкин (на данный момент работает в Surfingbird)! за что ему огромное Спасибо!

Как пользоваться SmartApkTool

Прежде всего вам надо установить и настроить Java JDK и Apktool как указано выше.

Откройте программу SmartApkTool

Если Вам необходимо Декомпилировать приложение в SmartApkTool, то выберите данный пункт и необходимое приложение

Если компилировать, то

и выбрать файл в проекте apktool.yml

Для подписи приложения APK, нажать обзор, выбрать приложение и подписать

Все так легко и просто!

Альтернативный вариант

Для тех кому не понравился SmartApkTool, есть альтернатива Android MultiTool

Другие статьи

Инструкция smartapktool

SmartAPKTool - Удобная программа которая поможет распаковать или запаковать, а так же подписать apk файлы. Будет очень полезна для разработчиков приложений или же просто любителям которые например хотят перевести любимую программу на другой язык. Так же в в программу дополнительно входит прога ATE которая поможет с переводом приложений.

Установка SmartAPKTool для windows:
1) Для начала нужно скачать и установить Java SE Development Kit (переходим по ссылке, ставим галочку возле Accept License Agreement и качаем для своей версии windows)
2) Теперь качаем архив с программой и распаковываем его, внутри увидим 2 папки: SmartAPKTool и это в папку windows .
3) Файлы из папки это в папку windows копируем в C:\WINDOWS и запускаем файлик apktool.bat (один раз), а папку SmartAPKTool копируем например на рабочий стол.
4) Теперь перезагружаем комп. После перезагрузки заходим в папку SmartAPKTool которую мы скопировали на рабочий стол и запускаем SmartApkTool.exe.
5) Все программа готова к использованию.

PS: Программка-редактор ATE находится в папке ATE.snapshot. запускаем дважды кликнув по ATE.snapshot.exe

SmartAPKTool 2

SmartAPKTool 2.2


[/b] программка позволяет подписывать Apk и Zip файлы, распаковывать apk файлы, запаковывать apk файлы.

[b]В архив входят:
- Сама программа
- Сертификаты для подписи.
- Dex2jar
- ATE (Редактор переводов)

Установка:
- Распаковать архив в удобное для Вас место
- Файл который Вы хотите подписать надо класть в папку с сертификатами.

ВНИМАНИЕ. Для работы программы требуется:
- Виртуальная машина Java
- Apktool

Изменения:
- Функции проверить наличие файлов больше нет, при запуске программа сама проверяет наличие файлов.
Если на компьютере отсутствуют файлы apktool, то программа не дает Вам распаковывать/запаковывать apk файлы.
Для проверки наличие сертификатов в папке есть специальный пункт в меню.
- Декомпиляция dex файлов в jar. (Beta)
- Ну и наверно самое главное в пакет SmartApkTool входит программа для локализации android приложений ATE. за что автору программы с ником KOJAN огромное спасибо!

Изменил Dymonyxx. Причина: Обновление!

Symbian Menu Editor 1.04b

Total Commander 8.01 Final [x32 & x64]

WallpaperMobile 2.0 - Авто. подгонка картинок под ваш

Format Factory 3.3.1.0

Разборка (декомпиляция) APK файла с помощью Apktool

Вам понадобится программа Apktool и Java. Файл, который будете разбирать (в нашем случае (smart.apk)

Установка Apktool на компьютер

Скачиваем и Устанавливаем Java. Скачиваем ApkTool (apktool1.4.3.tar.bz2 и apktool-install-windows-r04-brut1.tar.bz2) и распаковываем в директорию С:\Windows\

Для запуска Apktool нужно нажать сочетание клавиш Win+R

Пишем cmd - переходим в командную строку и пишем apktool .
Весь процесс происходит в командной строке.

Но сделать иначе, есть графический интерфейс ApkTool с названием Smartapktool. Скачиваем приложение Smartapktool (ссылка скачать внизу статьи) распаковываем его в папку. Очень важно, чтобы файлы apktool лежали в папке Windows. не путать с Smartapktool. Запускаем интерфейс SmartApkTool.exe и переходим в меню Распаковать/Запаковать. Выбирайте Ваше приложение

name .apk (Важно! Отсутствие пробелов, кириллицы, знаков препинания).

После распаковки приложения вы обнаружите рядом папку с таким же названием.

Инструкция smartapktool

1)Подписывать Apk и Zip файлы.
2)Распаковывать apk файлы.
3)Запаковывать apk файлы.
В архив входят:
1)Сама программа
2)Сертификаты для подписи.
3)Dex2jar
4)ATE (Редактор переводов)

Программа ATE (Android Translation Editor) написана не мной, я только договорился с автором на использовании его программы в моей программе, по этому если вы хотите отблагодарить автора программы ATE то вам сюда- Android Translator Editor Ник -KOJAN :thank_you:
Установка:
1)Распаковать архив в удобное для Вас место
Файл который Вы хотите подписать надо класть в папку с сертификатами.

ВНИМАНИЕ.
Для работы программы требуется:
1)Виртуальная машина Java
2)Apktool

Изменения в версии 2.2

1)Функции проверить наличие файлов больше нет, при запуске программа сама проверяет наличие файлов.
Если на компьютере отсутствуют файлы apktool, то программа не дает Вам распаковывать/запаковывать apk файлы.
Для проверки наличие сертификатов в папке есть специальный пункт в меню.
2)Декомпиляция dex файлов в jar. (Beta)
3)Ну и наверно самое главное в пакет SmartApkTool входит программа для локализации android приложений ATE. за что автору программы с ником KOJAN огромное спасибо!

ВНИМАНИЕ.
ЕСЛИ ПРИ ЗАПАКОВКИ/ПОДПИСИ ИЛИ ПРОСТО ЗАПАКОВКИ ФАЙЛА У ВАС ОТКРЫЛОСЬ ЧЕРНОЕ ОКНО И СРАЗУ ЖЕ ЗАКРЫЛОСЬ НЕ ПОПРОСИВ НАЖАТИИ ЛЮБОЙ КНОПКИ,ЗНАЧИТ ВЫ ДОПУСТИЛИ ОШИБКУ ПРИ РЕДАКТИРОВАНИИ ПРИЛОЖЕНИЯ(СКОРЕЕ ВСЕГО В SMALI.)

Использование apktool

Использование apktool

В статье про изготовление копий приложений для Android я упоминал о приложении SmartAPKTool. Оно может распаковывать, запаковывать и подписывать изменённые apk-файлы. Её достоинством является наличие графического интерфейса. Однако есть и серьёзный недостаток. SmartAPKTool давно не обновлялся, и программа некорректно распаковывает и запаковывает приложения для свежих версий Android. Поэтому здесь я попытаюсь объяснить, как пользоваться для этих целей приложением apktool.

Замечание 1.
Программу SmartAPKTool по-прежнему удобно использовать для подписи собранных apk-файлов.
Замечание 2.
Ссылки на упомянутые в статье программы находятся внизу v

Программа apktool не имеет графического интерфейса. Это является минусом для тех, кто не привык работать с командной строкой. Но есть и плюс: в отличие от SmartAPKTool, мы будем видеть все ошибки, а значит будем знать, что исправить.

Скачаем два архива: один общий для всех систем, другой для нашей системы (в примере — Windows):

Распакуем оба архива в одну и ту же пустую папку (в нашем примере C:\apktool\ ). Её содержимое должно получиться таким:

С этого момента мы можем использовать программу apktool .

Замечание 3.
Пользователям 64-битных версий Linux нужно будет установить пакет ia32-libs:

sudo apt-get install ia32-libs

В эту же папку мы кладём тот файл, который нам нужно распаковать. Например, пусть он назвыается orig.apk
Нажав клавишу Shift и удерживая её, щёлкаем правой кнопкой мыши на любом пустом пространстве папки (щёлкать не по файлам!). После этого выбираем пункт „Открыть окно команд“. В появившейся консоли набираем [важно!] .

apktool decode orig.apk

Теперь у нас в директории C:\apktool\ есть папка с распакованным приложением. Называется она так же, как и исходный файл, за вычетом расширения: C:\apktool\orig\. Мы можем менять исходные файлы так, как описано в статье Android: как установить два одинаковых приложения на один телефон. После того, как мы сделали изменения, соберём копию приложения, запаковав исходные файлы в apk:

apktool build orig result.apk

Здесь result.apk — имя файла, которое мы придумали для билда копии. Если ошибок нет, то файл соберётся:

Остальное выходит за рамки темы статьи:

  1. Если при сборке будут ошибки, нужно найти их причину и исправить.
  2. Осталось подписать получившийся файл result.apk. Это можно сделать с помощью SmartAPKTool, как говорилось выше; в нём всё интуитивно понятно. Есть также прочие способы подписать apk-файл.
  3. При установке копии, при её запуске или работе также могут возникать ошибки. Их нужно отлавливать с помощью утилиты adb. входящей в состав Android SDK.

Подписывать приложение надо обязательно, иначе оно не установится. Ошибки же встречаются не так часто, и самые распространённые вызывающие их проблемы описаны в статье Android: как установить два одинаковых приложения на один телефон .

Ссылки на упомянутые программы: Важное замечание по apktool версий 2.x

В версии 2.0.0-Beta7 нужно применять ключ --output. чтобы указать директорию при декомпиляции и результирующий файл при сборке:

apktool decode orig.apk -- output orig
apktool build orig -- output result.apk

Можешь подсказать в чем проблема? Пытаюсь сделать копию игры для установки рядом с основной. Делал по твоему мануалу. Компиляция апкшки проходит без каких либо ошибок, подписывается тоже нормально. На тел устанавливается, но при запуске выдает ошибку приложения и закрывается. Пробовал и через строку (и через готовые батники, и вручную прописывая все строки), и через смарт апк, результат тот же. Так как при компиляции ошибок не выдает, думаю что при изменениях ничего левого не написал, подозрения падают на подпись, но хз.
Думал уже просить чтоб сделал мне копию, но вот буквально на днях его уже заказали (правда не ту версию).
По софту всё впорядке вроде, всё стоит.

Кинь ссылку на собранный тобою файл. Я установлю и проверю, что там может быть.

Пока ехал с работы домой, закралась мысль что что-то пропустил. Проверил повнимательней еще раз, и точно, активити не заметил когда менял. А когда сравнивал с твоим манифестом другой версии этой игры, то даже не обратил внимания на строку с активити, так как у тебя не были прописаны полные пути

Дописал и всё нормально запустилось, спс за быстрое реагирование на проблему.

Только вот всё равно не могу понять, а почему у тебя работало с не прописанным путём? Он был изменён где-то «глубже»? Сорь за глупые вопросы, чайник я в программировании.

А про какое ты приложение?

Я просто автоматизировал процесс создания копий, а в автоматическом режиме проще менять не все данные в манифесте, а пути во всех файлах smali (что вручную практически невозможно). Это просто два разных пути сделать одно и то же, они равнозначны по сути.

Тогда понятно, спасибо за разъяснение.

[URL=http://www.radikal.ru][IMG]http://s019.radikal.ru/i629/1402/5d/ec141f4ef813.jpg[/IMG][/URL] в чём может быть проблема?

[URL=http://www.radikal.ru][IMG]http://i052.radikal.ru/1402/b3/7fc6325be2e1.jpg[/IMG][/URL] тут лучше видно

Это не проблема. Нужно просто:
1. Установить Java, если она не установлена.
2. Добавить в глобальную переменную %PATH% путь к Java, если это не сделается автоматически после установки.

Не совсем понимаю, в чём вопрос, если всё прямо написано в появляющейся ошибке. У тебя просто нет сертификата, которым ты собираешься подписывать приложение. Его нужно скачать по той ссылке, которую тебе заботливо написали прямо в тексте ошибки.

Скорее всего, ты зачем-то достал exe-файл из архива с программой SmartApkTool и почему-то решил его использовать отдельно от всего остального содержимого архива.

http://s019.radikal.ru/i615/1403/7f/56fc5281c0ee.png по ссылке, пишет страница не существует. SmartApkTool даже в самой папке со всеми файлами, тоже самое пишет. Странно, но у тебя получилось без проблем сделать клон. Правда старую версию. А мне нужно вот эту обновлённую http://files.bitmaster.ru/TM/android/TMDriver_2_4_20.apk

Я давал внизу статьи ссылку на архив с программой:
http://kodopik.ru/SmartAPKTool.zip
Подписываемый apk-файл нужно класть в папку sign (она на одном уровне с исполняемым файлом SmartApkTool.exe).

Есть приложение, онлайн игра. При запуске язык выбирается исходя из системного в телефоне. Из-за кривого гугло-перевода есть огромное желание вернуть его на английскую версию. Переводить весь телефон на англ как-то желания нету. Можешь подсказать, возможно ли своими силами (без привлечения разработчиков), заставить игру принудительно запускаться на английском языке? Если пробовать «выпиливать» всю локализацию по определению языка запуска, боюсь что может начаться некорректная работа приложения в онлайне/при обновлении. Можешь подсказать путь, в котором двигаться по решению вопроса?

Самый простой способ (имхо):

1. Распаковать apk.
2. Заменить файл

Оригинал удалял предварительно очистив данные и кэш (стандартными дроидовскими способами), измененный апк таким же способом сносился. SD Maid’ом только что проверил, мусора не нашёл. Установил ещё раз игру, итог — русский. Видимо собака где-то глубже зарыта. Ладно, буду стучатся разработчикам, может введут ручной выбор. Спасибо за помощь.

Похоже, там всё с сервера берётся. В файле strings.xml слишком мало строк и не встречаются слова, которые я вижу в игре.

Да, по содержимому больше похоже что strings.xml содержит только список системных команд приложения.

Посидел поискал ещё. В итоге получилось.
В файле

elseif devLanguage == kLanguageRussian then
table.insert(requiresTable, «lua/message/message_ru»)
lpath=»ru»

elseif devLanguage == kLanguageRussian then
table.insert(requiresTable, «lua/message/message_en»)
lpath=»en»

Результат оказался положительным. Посмотрим как он себя покажет когда выйдет обновление игры.

SmartAPKTool - v

SmartAPKTool — очень полезная и добная программа которая поможет распаковать или запаковать, а так же подписать арк файлы.

Это приложение для Android очень пригодится для разработчиков или же просто пользователям, которые, например хотят перевести любимую программу на другой язык…

Так же в в программу дополнительно входит прога ATE которая поможет с переводом приложений.

Установка SmartAPKTool для windows:

  • Для начала нужно скачать и установить Java SE Development Kit (переходим по ссылке, ставим галочку возле Accept License Agreement и качаем для своей версии windows)
  • Затем, качаем архив с программой и распаковываем его, внутри увидим 2 папки: «SmartAPKTool » и «For_windows «.
  • Файлы из папки «For_windows » копируем в C:WINDOWS и запускаем файлик apktool.bat (один раз), а папку «SmartAPKTool » копируем, к напримеру, на рабочий стол.
  • Перезагружаем компьютер и заходим в папку «SmartAPKTool «, которая скопирована на рабочий стол и запускаем SmartApkTool.exe .

Все! Программа готова к использованию.

PS: Программка-редактор ATE находится в папке ATE.snapshot. Запускаем программу, дважды кликнув по ATE.snapshot.exe

Удачи и… до новых встреч!

Ответы на все вопросы касаемо файлового формата 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 – папка, которая содержит все ресурсы «программной начинки», рассортированные по подпапкам. Например, в папке

находятся графические элементы приложений (разные статусы, иконки и такое прочее), в директории 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, здесь можно увидеть папки:

В данных папках находятся все иконки и другие графические элементы программы. Буква перед «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 (при просмотре напрямую с Android-устройства)

sdcardackupsapp (при просмотре через компьютер, при этом Android-девайс подключен как USB-накопитель).

Далее, можно использовать программу 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, где прописываем следующую строчку после пробела:

При стандартном установочном пути браузера, в строчке должно получиться вот что:

«C:Program FilesGoogleChromeApplicationchrome.exe» —ignore-certificate-errors

После этого, в номеронабирателе смартфона вводим:

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

Второй способ – при помощи Real APK Leecher. В окне опций также нужно ввести основные данные учетной записи Google – почтовый адрес, пароль и Device ID. После чего можно найти и скачать любое приложение, доступное в Google Play (Android Market).

Из APK-приложений также можно удалить назойливую рекламу – об этом читайте в другом материале .

Чтобы получить исходный код любого Android приложения APK, нужно открыть SmartApkTool, где переходим на вкладку «dex2jar».

Выбираем нужный APK-файл

и нажимаем «Декомпилировать dex в jar»

в итоге получаем jar-файл.

Его можно открыть и редактировать, например, при помощи программы JD-GUI.

Как произвести упаковку приложения и его подпись? Для этого запускаем SmartApkTool, открываем вкладку Распаковать/Запаковать, выбираем опцию «Запаковать», ставим галку напротив «Подписать приложение», выбираем (путем нажатия на «Обзор») директорию с распакованным приложением и выбираем файл apktool.yml. Наконец, кликаем на «Запаковать и подписать».

После выполненной подписи приложение будет размещено в папке sign директории с программой SmartApkTool, с названием sign_name.apk. Или же можно просто нажать «Запаковать», тогда приложение будет упаковано. В папке с декомпилированным приложением будут созданы директории build и dist. в последней будет находится собранный APK, то есть готовое приложение, а в build – содержимое данного APK.

Если изначально вы не подписывали приложение, но после решили это сделать, то APK-файл закидываем в папку sign. после чего подписываем программой SmartApkTool на вкладке «Подписать».