Программы для платформы Андроид представляют собой единственный файл с расширением apk, что очень удобно. Фактически установка любой программы на смартфоне или планшете сводится к его простому копированию на ваш гаджет. Что же такое apk-файл и как можно посмотреть, что там внутри?
Что такое APK файл?
Аббревиатура APK раскрывается как Android Package Kit – исполняемый пакет файлов для Android-приложений. Это архив, содержащий скомпилированные и готовые к исполнению коды и другие ресурсы. apk-файлы хранятся на сайтах Интернета, вроде Google Play, откуда их можно скачать и установить в свой гаджет. Они не подвергаются шифровке.
Его структура подготовлена разработчиком для запуска в среде виртуальной машины Dalvik или ART. Эти машины встроены в ОС Андроид, они-то и запускают все приложения, которые есть на вашем устройстве.
Как разобрать Android приложение через программу Apktool для Windows
Сам файл 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, но решающий множество простых задач. Например, можно убрать рекламные блоки из программы, русифицировать интерфейс, заменить значки или текстуры на свои, и многое другое.
Источник: gemapps.ru
Форум самодельщиков: Конвертация игр с PC для Android — Форум самодельщиков
- Правила форума
- Просмотр новых публикаций
Друзья! У админа появился крутой канал на YouTube по тематике самоделок и экспериментов! СМОТРЕТЬ! —>
Добро пожаловать на Форум самодельщиков!
Пройдя короткую регистрацию , вы сможете создавать и комментировать темы, зарабатывать репутацию, отправлять личные сообщения и многое другое!
- All Categories
- Всеобщий хелп форум
- Хелп по самоделкам
- Хелп по компьютеру
- Хелп по радиоэлектронике
- Хелп по моделям
- Веб-программирование









Конвертация игр с PC для Android Хочу в NFS Underground 2 переделать для планшета
- Вы не можете создать новую тему
- Вы не можете ответить в тему
#1
NSM
- Доктор Импровизации
- Группа: Пользователи
- Сообщений: 233
- Регистрация: 12 February 11
Репутация: 25
Очень хороший
Отправлено 28 July 2013 — 20:44
Народ, скажите, можно ли как-нибудь сконвертировать игру с PC для планшета на платформе Android с процессором Mali. Мне очень хочется поиграть в NFS Underground 2 или хотя бы в первую часть, есть же GTA 3 и GTA Vice City для Android, следовательно есть способ переконвертировать и другие игры, но я как-то ничего не нашел?
#2
Brador
- .
- Группа: Модераторы
- Сообщений: 4246
- Регистрация: 02 September 11
Репутация: 752
Отправлено 28 July 2013 — 20:46
Способ есть. Взять сюжет и написать игру заново под андроид.
Модератор — это человек, который молится о бесконечном терпении,а мечтает о бесконечных патронах.
#3
kr1one
- Группа: Пользователи
- Сообщений: 40
- Регистрация: 22 December 11
Репутация: 16
Отправлено 29 July 2013 — 02:28
Невозможно, для оптимизации кода для мобильных устройств нанимают специалистов. Нужно иметь исходники игры, а ты их нигде не получишь и не думаю что у тебя будут знания для работы с ними.
#4
botan
- Группа: Пользователи
- Сообщений: 708
- Регистрация: 18 August 10
Репутация: 67
Отправлено 29 July 2013 — 07:11
Может быть, есть эмулятор, через который можно эту игру запустить, но тогда она будет ооочень медленно работать.
Гогибит знает толк в проне
#5
NSM
- Доктор Импровизации
- Группа: Пользователи
- Сообщений: 233
- Регистрация: 12 February 11
Репутация: 25
Очень хороший
Отправлено 29 July 2013 — 09:11
Короче я понял, что делается это на этапе программного кода.
Источник: sam0delka.ru
Программа для редактирования apk файлов на компьютере
Программы для платформы Андроид представляют собой единственный файл с расширением apk, что очень удобно. Фактически установка любой программы на смартфоне или планшете сводится к его простому копированию на ваш гаджет. Что же такое apk-файл и как можно посмотреть, что там внутри?
Введение
В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.
Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.
Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?
INFO
Так как мы подписали пакет нашим собственным ключом, он будет конфликтовать с оригинальным приложением, а это значит, что при попытке обновить софтину через маркет мы получим ошибку.
Цифровая подпись необходима только стороннему софту, поэтому если ты занимаешься модификацией системных приложений, которые устанавливаются копированием в каталог /system/app/, то подписывать их не нужно.
После этого скидываем пакет на смартфон, устанавливаем и запускаем. Вуаля, реклама пропала! Вместо нее, однако, появилось сообщение, что у нас нет интернета или отсутствуют соответствующие разрешения. По идее, этого могло бы и хватить, но сообщение выглядит раздражающе, да и, если честно, нам просто повезло с тупым приложением.
Нормально написанная софтина, скорее всего, уточнит свои полномочия или проверит наличие интернет-соединения и в противном случае просто откажется запускаться. Как быть в этом случае? Конечно, править код.
Обычно авторы приложений создают специальные классы для вывода рекламы и вызывают методы этих классов во время запуска приложения или одной из его «активностей» (упрощенно говоря, экранов приложения). Попробуем найти эти классы. Идем в каталог smali, далее com (в org лежит только открытая графическая библиотека cocos2d), далее kauf (именно туда, потому что это имя разработчика и там лежит весь его код) — и вот он, каталог marketing. Внутри находим кучу файлов с расширением smali. Это классы, и наиболее примечателен из них класс Ad.smali, по названию которого нетрудно догадаться, что именно он выводит рекламу.