Как разархивировать vpk файл
Вы скачали файл APK и не знаете, как открыть его на своём компьютере? Или вы хотите установить файл APK на свой компьютер, но не можете этого сделать, потому что операционная система не распознает его? Это нормально: файлы APK, по сути, являются установочными пакетами приложений для Android, и, если вы попытаетесь открыть их в системе, отличной от разработанной Google для смартфонов и планшетов, вы не сможете просмотреть их содержимое. если вы не используете специальные решения. Какие? Я объясню вам это в ближайшее время.
Если вы хотите узнать, как открыть APK-файлы на ПК, вам просто нужно потратить несколько минут свободного времени и прочитать инструкции, которые я собираюсь вам дать. Фактически, в сегодняшнем руководстве я покажу вам, как выполнить эту процедуру для Windows и macOS, и рекомендую различные решения. Расскажу вам об официальном программном обеспечении Google Android Studio, которое позволяет разрабатывать приложения для Android и детально просматривать их содержимое. С другой стороны, если ваша цель состоит в том, чтобы установить приложение для Android на ваш ПК, то это можно осуществить через эмулятор Android, о чём я расскажу во второй части руководства. Если вы намерены только извлечь содержимое файла APK на компьютер, не волнуйтесь, я покажу вам некоторые решения, которые могут подойти для этого случая.
Открыть APK файл на ПК с Android Studio
Файл APK представляет собой архив, содержащий файлы, необходимые для установки приложения на Android. В связи с этим для разработки приложений можно использовать бесплатное программное обеспечение Android Studio, разработанное Google. Эта программа позволяет декомпилировать файл APK и просматривать его содержимое.
После загрузки файла, если вы используете Windows, дважды щелкните по нему и нажмите Да в окне контроля учетных записей. На появившемся экране нажмите кнопку Далее три раза подряд и в конце установки нажмите кнопку Готово . Если вы используете macOS, дважды щелкните загруженный файл и перетащите Android Studio в папку «Приложения» на отображаемом экране.
Как только это будет сделано, запустите Android Studio, с помощью его значка, который вы можете найти на рабочем столе Windows или на Launchpad MacOS. Затем нажмите кнопку ОК и на появившемся экране нажмите кнопку Далее три раза подряд и дождитесь загрузки всех компонентов, необходимых для работы программы. В конце процедуры нажмите Готово , чтобы отобразить главный экран Android Studio.
Среди элементов, отображаемых на экранной панели, выберите элемент под названием Открыть существующий проект Android Studio и на просматриваемом экране выберите интересующий вас APK-файл, подтвердив действие кнопкой Открыть .
Если вы следовали инструкциям, которые я вам предоставил, вы успешно откроете APK-файл с отображением всех файлов внутри него на центральной панели основного экрана Android Studio.
Открыть APK файл на ПК через эмулятор Android
Если вы хотите запустить приложение Android на своем компьютере, вы должны использовать эмулятор Android: их несколько, но сегодня я покажу вам процедуру, которой следует придерживаться в случае BlueStacks, известного бесплатного программного обеспечения для эмуляции Android, который доступен как для Windows, так и для MacOS на официальном сайте.
После запуска BlueStacks вам будет предложено настроить учетную запись Google. Затем нажмите кнопку Пуск и войдите в систему, используя учетные данные своего аккаунта Gmail. На этом этапе нажмите кнопку Пуск с помощью BlueStacks , чтобы начать использовать эмулятор Android.
Теперь, когда у вас установлен и настроен BlueStacks, вы можете легко открыть файл APK. На главном экране эмулятора найдите Установленные приложения в левом верхнем углу. Затем щелкните значок вертикального троеточия, который находится рядом, и в появившемся окне выберите пункт Установить APK.
На этом этапе вам просто нужно указать APK-файл на вашем компьютере, подтвердив операцию с помощью кнопки Открыть . При этом будет выполнена установка APK-файла, и станет возможным запуск содержащегося в нём приложения.
В качестве альтернативы этой процедуры, после установки и настройки BlueStacks, вы можете просто дважды щелкнуть файл APK, чтобы открыть его, и, следовательно, установить внутри эмулятора.
Извлечь APK файлы на ПК
Файл APK можно открыть на ПК с помощью любого программного обеспечения или инструмента сжатия данных, например WinRAR или WinZip. Однако, в этом руководстве я расскажу вам о бесплатной программе 7-Zip, доступной только в Windows. Но, будучи программным обеспечением с открытым исходным кодом, её основной код разработки (p7zip) используется для создания другого программного обеспечения, также бесплатного, например, Keka для macOS.
В следующих главах я покажу вам, как извлечь содержимое файла APK с помощью 7-Zip для Windows и Keka для macOS.
7-Zip (Windows)
Если у вас есть компьютер с Windows, среди множества программ для сжатия и распаковки архивов, я рекомендую использовать 7-Zip, доступный бесплатно на официальном сайте. Это программа с открытым исходным кодом, которая позволяет вам управлять архивам с расширениями RAR, CAB, GZIP, 7Z, ZIP и даже APK.
Если вы заинтересованы в использовании 7-Zip, перейдите по предоставленной мной ссылке и нажмите на элемент Download, соответствующий версии архитектуры компьютера. Как только это будет сделано, будет загружен файл .exe. Дважды щелкните его и нажмите Да в окне контроля учетных записей Windows. Пройдите через стандартный процесс установки программ на Windows.
Чтобы открыть пакет APK и извлечь его содержимое на компьютер, щелкните файл правой кнопкой мыши и в контекстном меню выберите 7-Zip → Извлечь файлы. Вам будет показан экран, на котором вам нужно будет выбрать место для извлечения содержимого файла APK. Затем нажмите кнопку ОК , чтобы начать извлечение файлов, и через несколько секунд процесс будет завершён. Папка, содержащая файлы APK, будет расположена в выбранном вами месте назначения.
Кека (macOS)
Как я уже говорил, Keka – это бесплатное программное обеспечение для macOS, которое позволяет вам управлять сжатыми архивами, такими как архивы в формате RAR, ZIP, 7Z и APK, с возможностью извлечения их содержимого на ваш компьютер в любом месте, выбранном пользователем. Если вы хотите загрузить его на свой Mac, перейдите на официальный сайт и нажмите кнопку Download vx.xx, которая находится слева. Вы также можете загрузить его непосредственно из Mac App Store, но в этом случае требуется оплата в размере 2,99 долл. (для поддержки разработчика).
После установки Keka просто перейдите к месту, где расположен файл APK и дважды щелкните по нему. При этом вам будет показан экран для выбора места назначения, куда следует извлечь содержимое файла APK. Затем выберите папку на Mac и нажмите кнопку Извлечь , расположенную внизу справа.
Если вы выполнили процедуру правильно, вы найдете содержимое файла APK внутри папки в выбранном вами месте назначения. Если Keka не открывается автоматически при двойном щелчке по файлу APK, щелкните правой кнопкой мыши на пакете, чтобы извлечь его, и выберите Открыть с помощью → Keka из контекстного меню MacOS.
В случае ошибок при выполнении перейдите в папку «Приложения» и запустите Keka, щелкнув правой кнопкой мыши по её значку и выбрав пункт «Открыть» два раза подряд: эта операция необходима только при первом запуске и служит для обхода ограничений macOS, установленных для приложений от несертифицированных разработчиков.
Делаешь к vpk.exe ярлык, кидаешь нужный vpk-файл в этот ярлык, и всё - идет распаковка.
Описание тупое,принцип работы разрабатывал имбицил. -10000000000
Автору золотую медаль я ету шнягу пол дня искал чтоб в Портале 2 звуки распечатать ))))))))))))))))
Черное окошко открывается и сразу закрывается. Не пашет.
van Valdis тоже самое
конченное описание. нельзя ли по понятней написать что сделать?
Я так и не понял, как он работает, но как-то он работает.
Steve Gaboda Тоже не работает и ваш метод. Сами то хоть проверили что написали. Приложение полностью консольное и работать с ним нужно только с командной строки
Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?
Введение
В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.
Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.
Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?
Декомпиляция приложений
В статье мы работали только с дизассемблированным кодом приложения, однако если в большие приложения вносить более серьезные изменения, разобраться в коде smali будет гораздо сложнее. К счастью, мы можем декомпилировать код dex в Java-код, который будет хоть и не оригинальным и не компилируемым обратно, но гораздо более легким для чтения и понимания логики работы приложения. Чтобы сделать это, нам понадобятся два инструмента:
Использовать их следует так. Сначала запускаем dex2jar, указывая в качестве аргумента путь до apk-пакета:
В результате в текущем каталоге появится Java-пакет mail.jar, который уже можно открыть в jd-gui для просмотра Java-кода.
Устройство APK-пакетов и их получение
Пакет приложения Android, по сути, является обычным ZIP-файлом, для просмотра содержимого и распаковки которого никаких специальных инструментов не требуется. Достаточно иметь архиватор — 7zip для Windows или консольный unzip в Linux. Но это что касается обертки. А что внутри? Внутри же у нас в общем случае такая структура:
- META-INF/ — содержит цифровой сертификат приложения, удостоверяющий его создателя, и контрольные суммы файлов пакета;
- res/ — различные ресурсы, которые приложение использует в своей работе, например изображения, декларативное описание интерфейса, а также другие данные;
- AndroidManifest.xml — описание приложения. Сюда входит, например, список требуемых разрешений, требуемая версия Android и необходимое разрешение экрана;
- classes.dex — компилированный байт-код приложения для виртуальной машины Dalvik;
- resources.arsc — тоже ресурсы, но другого рода — в частности, строки (да-да, этот файл можно использовать для русификации!).
Перечисленные файлы и каталоги есть если не во всех, то, пожалуй, в абсолютном большинстве APK. Однако стоит упомянуть еще несколько не столь распространенных файлов/каталогов:
- assets — аналог ресурсов. Основное отличие — для доступа к ресурсу необходимо знать его идентификатор, список asset’ов же можно получать динамически, используя метод AssetManager.list() в коде приложения;
- lib — нативные Linux-библиотеки, написанные с помощью NDK (Native Development Kit).
Этот каталог используют производители игр, помещая туда движок игры, написанный на C/C++, а также создатели высокопроизводительных приложений (например, Google Chrome). С устройством разобрались. Но как же получить сам файл пакета интересующего приложения? Поскольку без рута с устройства забрать файлы APK не представляется возможным (они лежат в каталоге /data/app), а рутить не всегда целесообразно, имеется как минимум три способа получить файл приложения на компьютер:
- расширение APK Downloader для Chrome;
- приложение Real APK Leecher;
- различные файлообменники и варезники.
Какой из них использовать — дело вкуса; мы предпочитаем использовать отдельные приложения, поэтому опишем использование Real APK Leecher, тем более что написан он на Java и, соответственно, работать будет хоть в винде, хоть в никсах.
Настройка Real APK Leecher
Просмотр и модификация
Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:
Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool. Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:
Далее нам понадобится скрипт-обвязка для запуска apktool (он, кстати, доступен и для Windows), включающий в себя еще и утилиту aapt, которая понадобится для запаковки пакета:
Далее просто сваливаем содержимое обоих архивов в каталог
/bin и добавляем его в $PATH:
Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio, который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.
Импорт APK в Virtuous Ten Studio
Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.
Рассмотрим наиболее интересные опции первой команды:
- -s — не дизассемблировать файлы dex;
- -r — не распаковывать ресурсы;
- -b — не вставлять отладочную информацию в результаты дизассемблирования файла dex;
- --frame-path — использовать указанный UI-фреймворк вместо встроенного в apktool. Теперь рассмотрим пару опций для команды b:
- -f — форсированная сборка без проверки изменений;
- -a — указываем путь к aapt (средство для сборки APK-архива), если ты по какой-то причине хочешь использовать его из другого источника.
Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:
После этого в каталоге mail появятся все извлеченные и дизассемблированные файлы пакета.
Препарирование. Отключаем рекламу
Теория — это, конечно, хорошо, но зачем она нужна, если мы не знаем, что делать с распакованным пакетом? Попробуем применить теорию с пользой для себя, а именно модифицируем какую-нибудь софтину так, чтобы она не показывала нам рекламу. Для примера пусть это будет Virtual Torch — виртуальный факел. Для нас эта софтина подойдет идеально, потому что она под завязку набита раздражающей рекламой и к тому же достаточно проста, чтобы не потеряться в дебрях кода.
Поиск кода рекламы в jd-gui
Итак, с помощью одного из приведенных способов скачай приложение из маркета. Если ты решил использовать Virtuous Ten Studio, просто открой APK-файл в приложении и распакуй его, для чего создай проект (File -> New project), затем в контекстном меню проекта выбери Import File. Если же твой выбор пал на apktool, то достаточно выполнить одну команду:
После этого в каталоге com.kauf.particle.virtualtorch появится файловое дерево, похожее на описанное в предыдущем разделе, но с дополнительным каталогом smali вместо dex-файлов и файлом apktool.yml. Первый содержит дизассемблированный код исполняемого dex-файла приложения, второй — служебную информацию, необходимую apktool для сборки пакета обратно.
Первое место, куда мы должны заглянуть, — это, конечно же, AndroidManifest.xml. И здесь мы сразу встречаем следующую строку:
Нетрудно догадаться, что она отвечает за предоставление приложению полномочий на использование интернет-соединения. По сути, если мы хотим просто избавиться от рекламы, нам, скорее всего, достаточно будет запретить приложению интернет. Попытаемся это сделать. Удаляем указанную строку и пробуем собрать софтину с помощью apktool:
В каталоге com.kauf.particle.virtualtorch/build/ появится результирующий APK-файл. Однако установить его не получится, так как он не имеет цифровой подписи и контрольных сумм файлов (в нем просто нет каталога META-INF/). Мы должны подписать пакет с помощью утилиты apk-signer. Запустили. Интерфейс состоит из двух вкладок — на первой (Key Generator) создаем ключи, на второй (APK Signer) подписываем. Чтобы создать наш приватный ключ, заполняем следующие поля:
- Target File — выходной файл хранилища ключей; в нем обычно хранится одна пара ключей;
- Password и Confirm — пароль для хранилища;
- Alias — имя ключа в хранилище;
- Alias password и Confirm — пароль секретного ключа;
- Validity — срок действия (в годах). Значение по умолчанию оптимально.
Остальные поля, в общем-то, необязательны — но необходимо заполнить хотя бы одно.
Создание ключа в apk-signer
WARNING
Чтобы подписать приложение с помощью apk-signer, ты должен установить Android SDK и указать полный путь до него в настройках приложения.
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Теперь этим ключом можно подписать APK. На вкладке APK Signer выбираем только что сгенерированный файл, вводим пароль, алиас ключа и пароль к нему, затем находим файл APK и смело жмем кнопку «Sign». Если все пройдет нормально, пакет будет подписан.
Так как мы подписали пакет нашим собственным ключом, он будет конфликтовать с оригинальным приложением, а это значит, что при попытке обновить софтину через маркет мы получим ошибку.
Цифровая подпись необходима только стороннему софту, поэтому если ты занимаешься модификацией системных приложений, которые устанавливаются копированием в каталог /system/app/, то подписывать их не нужно.
Обычно авторы приложений создают специальные классы для вывода рекламы и вызывают методы этих классов во время запуска приложения или одной из его «активностей» (упрощенно говоря, экранов приложения). Попробуем найти эти классы. Идем в каталог smali, далее com (в org лежит только открытая графическая библиотека cocos2d), далее kauf (именно туда, потому что это имя разработчика и там лежит весь его код) — и вот он, каталог marketing. Внутри находим кучу файлов с расширением smali. Это классы, и наиболее примечателен из них класс Ad.smali, по названию которого нетрудно догадаться, что именно он выводит рекламу.
Мы могли бы изменить логику его работы, но гораздо проще будет тупо убрать вызовы любых его методов из самого приложения. Поэтому выходим из каталога marketing и идем в соседний каталог particle, а затем в virtualtorch. Особого внимания здесь заслуживает файл MainActivity.smali. Это стандартный для Android класс, который создается Android SDK и устанавливается в качестве точки входа в приложение (аналог функции main в Си). Открываем файл на редактирование.
Внутри находится код smali (местный ассемблер). Он довольно запутанный и трудный для чтения в силу своей низкоуровневой природы, поэтому мы не будем его изучать, а просто найдем все упоминания класса Ad в коде и закомментируем их. Вбиваем строку «Ad» в поиске и попадаем на строку 25:
Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 433, 435, 466, 468, 738, 740, 800 и 802 обращения к методам класса Ad. Комментируем. Вроде все. Сохраняем. Теперь пакет необходимо собрать обратно и проверить его работоспособность и наличие рекламы. Для чистоты эксперимента возвращаем удаленную из AndroidManifest.xml строку, собираем пакет, подписываем и устанавливаем.
Наш подопытный кролик. Видна реклама Он же, но уже без рекламы
Оп-па! Реклама пропала только во время работы приложения, но осталась в главном меню, которое мы видим, когда запускаем софтину. Так, подождите, но ведь точка входа — это класс MainActivity, а реклама пропала во время работы приложения, но осталась в главном меню, значит, точка входа другая? Чтобы выявить истинную точку входа, вновь открываем файл AndroidManifest.xml. И да, в нем есть следующие строки:
Они говорят нам (и, что важнее, андроиду) о том, что активность с именем Start должна быть запущена в ответ на генерацию интента (события) android.intent.action.MAIN из категории android.intent.category.LAUNCHER. Это событие генерируется при тапе на иконку приложения в ланчере, поэтому оно и определяет точку входа, а именно класс Start. Скорее всего, программист сначала написал приложение без главного меню, точкой входа в которое был стандартный класс MainActivity, а затем добавил новое окно (активность), содержащее меню и описанное в классе Start, и вручную сделал его точкой входа.
Открываем файл Start.smali и вновь ищем строку «Ad», находим в строках 153 и 155 упоминание класса FirstAd. Он тоже есть в исходниках и, судя по названию, как раз и отвечает за показ объявлений на главном экране. Смотрим дальше, идет создание экземпляра класса FirstAd и интента, по контексту имеющего отношение к этому экземпляру, а дальше метка cond_10, условный переход на которую осуществляется аккурат перед созданием экземпляра класса:
Скорее всего, программа каким-то случайном образом вычисляет, нужно ли показывать рекламу на главном экране, и, если нет, перескакивает сразу на cond_10. Ок, упростим ей задачу и заменим условный переход на безусловный:
Больше упоминаний FirstAd в коде нет, поэтому закрываем файл и вновь собираем наш виртуальный факел с помощью apktool. Копируем на смартфон, устанавливаем, запускаем. Вуаля, вся реклама исчезла, с чем нас всех и поздравляем.
- Перевод приложений Android;
- пример снятия триала с приложения.
Итоги
Эта статья лишь краткое введение в методы вскрытия и модификации Android-приложений. За кадром остались многие вопросы, такие как снятие защиты, разбор обфусцированного кода, перевод и замена ресурсов приложения, а также модификация приложений, написанных с использованием Android NDK. Однако, имея базовые знания, разобраться во всем этом — лишь вопрос времени.
APKTool
версия: 2.5.0
Последнее обновление программы в шапке: 03.12.2020
Краткое описание:
Программа для "вскрытия" *.apk - файлов.
Описание:
Программа будет полезна разработчикам и переводчикам программ для платформы Android.
Может быть использована для локализации ПО, добавления функций и т.д.
На данный момент программа работает под управлением ОС Linux, Windows, MacOS. При помощи данной утилиты не может быть вскрыто приложение framework-res.apk, поскольку в нем используются некие собственные секретные разработки Google, но обещают, что в дальнейшем это будет исправлено.
Для использования программы требуются базовые знания по SDK, aapt, PATH, smali.
1.4.3:
updated builtin framework to SDK API14
fixed some "Multiple substitutions (. )" errors ( Issue 254 )
1.4.2:
added support for API14 (Android 4.0) resources
updated smali to v1.3.0
added --quiet option
fixed decoding error when string ends with '%' ( Issue 169 )
fixed decoding error when <plurals> contains a reference ( Issue 234 )
fixed a broken res when decoding <array> with positional substitutions ( Issue 222 )
1.4.1:
1.4.1
fixed builtin framework. See changelog and migration instructions of v1.4.0 below.
1.4.0
Major changes:
added Honeycomb support (3.1, API 12). See migration instructions below.
support for mipmaps and xlarge, xhdpi resource qualifiers
updated builtin framework to 3.1 (API 12) broken
completely rewritten mechanism of enclosing/escaping strings in XML files:
fixed legendary Issue 100
fixed a lot of other bugs discovered when writting integration tests
string format is simpler and more compact now: '" "' instead of '\u0020 ', '\"' instead of '\"', etc.
fixed incompatibilities between newer aapt and apks built by older one. New aapt is more restrictive, some apps can't be built using it, even if you would have sources. Apktool tries to convert/fix these incompatibilities: it adds formatted="false" for <string /> tags and enumerates substitutions for plurals.
updated smali to v1.2.6
added automatic integration tests for resource decoding and building
first official release of apktool built using Maven from open source
Minor changes:
sort framework ids before storing them in apktool.yml. aapt command requires you to include frameworks in order.
zero-padding of MCC resource qualifier
prefer to use raw values when decoding XML attrs. This could make decoded XMLs a little more similar to original ones.
close apktool.yml file handler after generating it
added error message about missing input file when decoding
added more info messages during decoding.
do not decode res-references as <item />. Now they're decoded as e.g. <string name="test">@android:string/ok</string> instead of <item type="string" name="test">@android:string/ok</item>.
changed encoding of generated XML files from UTF-8 to utf-8 - it's more consistent with Android SDK.
add new line at the end of generated XML files.
install-windows-2.2_r01-3 (2010.09.03):
fixed an issue when path to apktool.bat contains spaces ( Issue 81 )
1.3.1 (2010.06.14):
added decoding of XML tags in res strings (Issue 15)
fixed some issues (Issue 45), (Issue 46), (Issue 48), (Issue 56)
1.3.0 (2010.06.12):
added 9patch images (*.9.jpg) decoding (Issue 2)
fixed support for apks lacking res dir or resources.arsc file (Issue 44, Issue 50)
changed default name of built file from out.apk to <original_name.apk>
added possibility to choose location of output apk when building
(2010.06.04):
updated install packages to 2.2r01-1 version. Apktool 1.2.0 requires newer aapt tool, so you must update to use it.
1.2.0 (2010.06.03):
added feature for installing and using custom framework files - pulled from a device. See FrameworkFiles (Issue 27)
Froyo support (Issue 37)
updated Android framework to 2.2r1
removed HTC framework
no need to use -s/-r switch, when apk doesn't contain sources/resources
added protection against accidental remove of important files when decoding (Issue 36)
made outdir argument optional when decoding
fix: adding dummy resources if some of them are missing (Issue 40)
fix: better recognition of AXML files (Issue 41)
1.1.1 (2010.04.29):
much better recognition of register types when debugging (Issue 24)
fixed SIGSEGV error, which usually occured after several steps when debugging (Issue 26)
Если вы не знаете, что это за формат — APK и чем его можно открыть на компьютере или телефоне, то ознакомьтесь с текстом статьи. Мы подробно расскажем о его особенностях, способах для работы и модифицирования его отдельных элементов.
Android Package Kit (APK) — формат исполняемых файлов для операционной системы Андроид. Представляет собой архив, содержащий исходные данные приложения (программный код, скомпилированные файлы ресурсов, настройки, активы, библиотеки).
Особенности:
- Нельзя конвертировать в другой формат.
- Архивируется с использованием функции сжатия на основе JAR.
- Является подмножеством формата ZIP.
- Можно изменить с помощью Google Android SDK, Eclipse с плагином ADT.
- Файлы из APK архива не шифруются.
Файлы с расширением АПК хранятся в Google Play и других магазинах приложений для Android устройств. Они распаковываются и устанавливаются автоматически, без использования дополнительного софта. Данные хранятся в корневой папке по адресу /data/app. Получить к ним доступ можно только через проводник.
Для разработки Android приложений с расширением APK используется программа Google’s Android SDK. Она доступна для бесплатной загрузки с официального сайта и работает на основе Java.
Как открыть на телефоне
Как открыть файл формата АПК на телефоне
Если мобильное приложение для Android платформы загружается со стороннего ресурса или компьютера, то оно будет иметь расширение apk. Тогда его можно установить на телефон вручную.
Как открыть файл apk с телефона:
- Подключите устройство к компьютеру используя USB кабель.
- Скопируйте АПК файл на SD карту или в память телефона.
- Запустите проводник или «Менеджер файлов».
- Откройте нужную директорию и запустите скопированный APK.
После этого начнется распаковка приложения. Ознакомьтесь с условиями, при необходимости выдайте доступ к функциям и продолжайте установку.
Если скопировать APK пакет по USB не получается, то отправьте его по Bluetooth или e-mail. Либо отдельно подключите к компьютеру mini SD карту с помощью адаптера и переместите на нее файл.
Ошибка при открытии
Как разрешить установку из неизвестных источников
Если после копирования АПК файла на устройство, его не получается запустить, то скорее всего возможность установки через USB была отключена производителем.
Выполните следующие действия, чтобы включить ее:
- Перейдите в меню «Настройки» и найдите здесь категорию «Личные данные».
- Выберите пункт «Безопасность» и поставьте галочку напротив «Неизвестные источники (разрешить установку из неизвестных источников)».
- Запустите АПК файл и продолжайте установку.
Если ошибка появляется, то в этом же меню уберите галочку напротив «Проверять приложения». Тогда Андроид не будет запрещать установку потенциально опасных приложений, которые могут нанести вред устройству. Используйте способ только если уверены в безопасности устанавливаемого АПК файла.
Другие способы
Если хотите посмотреть содержимое APK файла с телефона, то для этого можно использовать мобильную версию архиватора или специальный софт.
Рассмотрим самые популярные программы, которые позволяют редактировать апк пакеты:
Интерфейс программы APK Editor
Работает как с пакетами, так и уже установленными на устройство программами, играми. Позволяет изменять отдельные манифесты, редактировать ресурсы, заменять файлы. Отличается удобным графическим интерфейсом, поддержкой кириллицы.
Интерфейс программы DroidEdit Free
Бесплатное мобильное приложение для создания и редактирования отдельных манифестов. Открыть сам АПК с его помощью не получится, а изменить уже отдельные элементы (после распаковки) — без проблем.
Позволяет подписывать файлы форматов APK, ZIP. Распаковывать и упаковывать APK. Подходит для предварительного редактирования приложений. Для работы SmartAPKTool может потребоваться дополнительный софт (ApkTool, виртуальная машина на Java).
После этого вы сможете изменять уже существующие строки кода, уведомления. В некоторые приложения можно добавить дополнительные действия или удалить уже существующие (например, показ рекламы). Учтите, что после этого оно будет отличаться от оригинального, поэтому обновить его через Google Play уже не получится.
Как извлечь APK
Интерфейс APK Extractor
Если нужно получить АПК уже установленного на телефон приложения, то сделать это можно с помощью специального софта. В Play Market есть несколько бесплатных программ, но мы будем использовать для этой цели APK Extractor.
Порядок действий будет следующим:
Как извлечь апк через APK Extractor
Если вы хотите сохранить полученный пакет для себя, то отправьте его по электронной почте на свой же адрес. После этого его можно будет скопировать на любое другое мобильное устройство, компьютер.
Как открыть на компьютере
Файлы из пакета APK
Распаковать апк файл, чтобы посмотреть или отредактировать содержимое, можно с помощью обычного архиватора. При этом установить или запустить приложение не получится. Для этого нужен специальный софт.
APK чем открыть на разных операционных системах:
- Windows — 7-Zip, WinRAR.
- Linux — 7-Zip, unzip.
- MacOS — Archive Utility.
Если при установке архиватора не была произведена настройка расширений (которые будут ассоциироваться по умолчанию), то программа может не распознать апк файл. Тогда он будет «неизвестного» формата.
Чтобы открыть, кликните по нему мышкой и в списке предложенных программ выберите нужный софт. После этого вы получите доступ ко всем исходным данным приложения.
Эмуляторы для запуска APK файлов на ПК
Если вы хотите установить на компьютер мобильное приложение для ОС Андроид, то файл будет иметь расширение АПК. Чтобы установить его, понадобится специальный эмулятор. Они доступны для бесплатной загрузки.
Самые популярные:
Интерфейс Nox App Player
Есть предустановленный Google Play. Программа не русифицирована, но сам Android свободно переключается на русский язык через настройки (как и на телефоне). Хорошая оптимизация, есть расширенные настройки для работы с АПК файлами.
Программа не поддерживает русский язык. Отличается минимальным количеством настроек и хорошей оптимизацией. Оболочка и установленные на нее программы быстро запускаются, работают без зависаний, тормозов.
Отличается хорошей производительностью в играх и позволяет запускать ресурсозатратные приложения. Главная особенность — функция Bluestacks TV. Нужна для проведения онлайн трансляций на Twitch.
С помощью эмулятора можно запускать мобильные приложения можно через апк пакеты или устанавливать их с Play Market напрямую. Для использования сервисов Google потребуется авторизоваться с помощью учетной записи.
Для запуска самих апк пакетов подключать аккаунт не обязательно. Но если игра или программа требует привязку к социальной сети или другим сервисам, то необходимо будет залогиниться или пройти простую регистрацию.
Как установить APK на компьютер
Если вы загрузили апк пакет на компьютер и хотите его запустить, то для этого необходимо установить эмулятор. Принцип действия везде одинаковый, поэтому мы рассмотрим пример установки приложения посредством апк через Bluestacks.
Порядок действий будет следующим:
- Перейдите на официальный сайт эмулятора Bluestacks и начните скачивать программу. Для бесплатной загрузки доступна полная версия.
- Запустите дистрибутив и продолжайте установку. По ее окончанию перезагрузите компьютер и откройте Bluestacks.
- Начнется запуск движка виртуализации и первоначальная настройка эмулятора. Дождитесь ее завершения, откроется главный экран программы. Отсюда можно получить доступ к уже предустановленным играм, программам и Play Market’у.
- Чтобы установить АПК перейдите на вкладку «Мои приложения». В правом нижнем углу найдите значок в виде плюса. Нажмите на него.
- Появится новое окно, где необходимо выбрать путь к АПК файлу. Укажите его и нажмите «Открыть».
- Начнется установка приложения. Продолжайте ее так же, как и на мобильном телефоне.
Установленное через апк пакет приложение появится на этой же вкладке. Кликните по его ярлыку мышкой, чтобы запустить. Оно откроется в новой вкладке.
Как открыть апк через Bluestacks
Если вы хотите удалить только что установленный АПК, то здесь же нажмите на значок в виде урны. После этого укажите эмулятору приложение, которое хотите стереть с устройства.
Как открыть и модифицировать APK на ПК
Работа с инструментом smali
Даже после распаковки АПК файл не готов к работе и модифицированию. Чтобы изменить что-то в XML или любом другом документе, необходимо его декомпилировать.
Инструменты, которые понадобятся для распаковки, редактирования и обратной архивации АПК пакета:
- Архиватор (7-zip, Winrar или любой другой). Нужен для того, чтобы извлечь из пакета все необходимые ресурсы, манифесты.
- Транслятор исходного текста программы, который сможет преобразовать байт-код виртуальной машины (smali).
- Инструмент для упаковки и преобразования отредактированных ресурсов (aapt).
- Инструмент для цифровой подписи измененного АПК файла (signer). Необходим, чтобы готовое приложение воспринималось операционной системой безопасным.
Использовать их можно по отдельности. Чтобы не искать их и не усложнять задачу, воспользуйтесь специальным софтом, который построен на их основе. Если вы хотите загрузить на ПК приложение, то достаточно будет эмулятора.
Программы для модифицирования APK пакетов
Работа в Virtuous Ten Studio
В зависимости от установленной операционной системы, есть несколько программ для работы с пакетами в формате АПК.
Рассмотрим самые популярные:
Имеет CLI интерфейс (работа через консоль, с использованием команд). С его помощью можно распаковывать все ресурсы из апк пакета, модифицировать отдельные составляющие и пересобирать архив с уже отредактированными файлами. Программа не включает в себя дополнительный инструмент для создания цифровой подписи, поэтому запускать signer придется вручную.
- Для устройств на базе операционных систем семейства Windows — Virtuous Ten Studio
Включает в себя ApkTool и отличается наличием графического интерфейса. Позволяет выполнять все операции по распаковке и декомпиляции за несколько кликов. Программа доступна для бесплатной загрузки с официального сайта.
Софт позволяет распаковывать и изменять АПК пакеты. Модифицированный файл можно будет установить на Андроид устройство. После этого обновить установленное (измененное) приложение через Play Market нельзя.
Сегодня мы разобрали, как открыть файл apk на компьютере или телефоне. Чтобы извлечь все входящие в его состав файлы достаточно будет обычного архиватора. Чтобы не просто открыть, а установить приложение на ПК для его дальнейшего использования, понадобится эмулятор (они доступны для бесплатной загрузки с официального сайта).
На мобильном телефоне или планшеты apk пакеты открываются по умолчанию. Сделать это можно через проводник или менеджер файлов. Но если хотите отредактировать или извлечь из него отдельные ресурсы, то воспользуйтесь SmartAPKTool или другим подобным софтом для ОС Андроид.
Также, про APK формат смотрите в видео:
ВИДЕО: Установка файлов формата .apk на компьютере
Читайте также: