Как просмотреть содержимое файла APK для Android?

Ответы:

126

На самом деле файл apk - это просто zip-архив, поэтому вы можете попробовать переименовать файл theappname.apk.zipи извлечь его с помощью любой утилиты zip (например, 7zip).

androidmanifest.xmlФайл и ресурсы будут извлечены и могут быть просмотрены в то время как исходный код не в пакете - только скомпилированный файл .dex ( «Dalvik Executable»)

ДонГру
источник
37

Сейчас он поставляется с Android Studio. Просто зайдите в Build / Analyze APK ... затем выберите свой APK :)

введите описание изображения здесь

Тяньлуонг
источник
14

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

Чтобы расшифровать приложение App.apkв папку App, запустите

apktool decode App.apk App

apktool не включен в официальный Android SDK, но доступен в большинстве репозиториев пакетов.

Йенс Эрат
источник
10

Также есть zzos . (Полное раскрытие: это я написал). Он декомпилирует только фактические ресурсы, а не часть dex ( baksmali , которую я не писал, отлично справляется с этой частью).

Zzos гораздо менее известен, чем apktool, но есть некоторые APK, с которыми он лучше справляется (и наоборот - подробнее об этом позже). В основном, APK-файлы, содержащие пользовательские типы ресурсов (не модификаторы), не обрабатывались apktool в последний раз, когда я проверял, а обрабатываются zzos. Также есть случаи, когда zzos справляется с экранированием лучше.

С другой стороны, zzos (текущая версия) требует установки нескольких инструментов поддержки. Он написан на Perl (в отличие от APKTool, написанного на Java) и использует aapt для фактической декомпиляции. Он также еще не декомпилирует ресурсы attrib (что делает APKTool).

Значение имени - «aapt», компилятор ресурсов Android, сдвинуто на одну букву вниз.

Шахар Шемеш
источник
6

4 предлагаемых способа открытия файлов apk:

1. откройте apk файл с помощью Android Studio (для фотографий, java-кода и анализа размера) наилучшим образом

введите описание изображения здесь

2. открывать приложениями winRar, 7zip и др. (Просто посмотреть фото и ...)

3. использовать javadecompilers веб- сайта (для фото и java кода)

4. используйте APK Tools (для фото и Java-кода)

Расул Мири
источник
6

unzip my.apk

Это трюк из командной строки Linux, поскольку формат APK - это просто ZIP-файл наверху.

Чиро Сантилли 郝海东 冠状 病 六四 事件 法轮功
источник
3

Есть онлайн-декомпилятор для android apks

http://www.decompileandroid.com/

Загрузить apk с локального компьютера

Подождите несколько минут

скачать исходный код в формате zip.

Разархивируйте его, вы можете просмотреть все ресурсы правильно, но все файлы java неправильно декомпилированы.

Для получения полной информации посетите этот ответ

AndroidGeek
источник
2

В зависимости от причины, по которой вы хотите извлечь APK, может быть достаточно анализатора APK. Он показывает вам каталоги и размеры файлов. Он также показывает количество методов, сгруппированных по пакетам, в которые вы можете перейти.

APK Analyzer встроен в Android Studio. Вы можете получить к нему доступ из верхнего меню, Build -> Analyze APK.

Элиасбэгли
источник
2

В случае гибридных приложений, разработанных с использованием cordova и angularjs, вы можете:

1) Переименуйте файл .apk в .zip
2) Распакуйте / распакуйте содержимое
3) В папке с ресурсами вы получите папку www.

Кайлас
источник
1

Вы также можете использовать Jadx - https://github.com/skylot/jadx . Я использовал все инструменты, упомянутые на этой странице, и обнаружил, что Jadx работает лучше всего. Этот инструмент максимально преобразует файл манифеста и другие файлы классов в читаемый формат.

PS - http://www.javadecompilers.com/apk также использует декомпилятор jadx для выполнения той же работы в Интернете. Проще, если вы хотите разархивировать один apk.

Ура!

Монал Джайн
источник
0

Вы также можете увидеть содержимое APK-файла на самом устройстве Android, что очень помогает при отладке.

Все файлы, включая манифест приложения, можно просматривать, а также делиться ими с помощью электронной почты, облака и т. Д., Рутирование не требуется. Приложение доступно по адресу:

https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek

Отказ от ответственности: я являюсь автором этого приложения.

cbelwal
источник