Главная / Инструкции по Андроид / APK чем открыть и как редактировать?

APK чем открыть и как редактировать?

2021-04-07
63 932

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


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


APK - формат операционной системы Android, использующийся для архивных исполняемых файлов-приложений, причем название самого файла может быть любым, а вот расширение должно выглядить только так .apk. Аналогами 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



Редактировать подобные ресурсы можно как обычный текстовый фаил.


После применения изменений необходимо собрать и подписать АПК. Нажимаем на папку с ресурсами правой кнопкой и Shift, выбираем скомпилировать и подписать, после завершения программа создат готовый файл в папке dist.



Как работать с другими ресурсами апк, в том числе и графическими мы узнаем из следующих статей.



Список программ для работы с APK вы сможете скачать ниже:




Оцените статью

4
оценок: 32
5 19
4 5
3 1
2 2
1 5

Комментарии

Войдите чтобы оставить комментарий

Или оставьте комментарий без регистрации, но вы не получите оповещение об ответе на ваши комментарии. Комментарий будет опубликован после модерации
  1. Аватар пользователя Алекс
    Здравствуйте, а как увеличить кнопки управления или перенести их в другое место на простой игре типа красный шар?
  2. Аватар пользователя Громобой
    Если хочешь понизить уровень АПИ, то необходимо сделать это и в самих файлах декс (программном коде), и в манифесте, так как низшие Андроиды поддерживают НЕ ВСЕ команды, которые доступны в высших, на которые рассчитано данное приложение
  3. Аватар пользователя Алибек Исчанов
    Простите а это понизить ли уровень API
    1. Аватар пользователя Булат Сангияев
      в манифесте
at