Как просмотреть AndroidManifest.xml из файла APK? - PullRequest
278 голосов
/ 16 ноября 2010

Можно ли просмотреть файл Androidmanifest.xml?

Я только что изменил расширение файла apk на zip.Этот файл zip содержит файл Androidmanifest.xml.Но я не могу просмотреть содержимое Androidmanifest.xml.Он полностью зашифрован.

Как просмотреть файл Androidmanifest.xml?

Ответы [ 14 ]

212 голосов
/ 16 ноября 2010

Да, вы можете просматривать XML файлы Android APK файла.Для этого есть инструмент: android-apktool

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

Какчтобы сделать это в вашей системе Windows:

  1. Скачать apktool-install-windows- * file
  2. Скачать apktool- * file
  3. Распакуйте оба файла в каталог Windows

Теперь скопируйте файл APK также в этот каталог и выполните в командной строке следующую команду:

apktool d HelloWorld.apk ./HelloWorld

Это создаст каталог "HelloWorld" в вашем текущем каталоге.Внутри него вы можете найти файл AndroidManifest.xml в расшифрованном формате, а также другие файлы XML в каталоге "HelloWorld/res/layout".

Здесь HelloWorld.apk - это ваш файл APK для Android.

Для получения дополнительной информации см. Снимок экрана ниже: alt text

73 голосов
/ 28 октября 2016

Android Studio теперь может показать это. Перейдите на Build> Analyze APK... и выберите свой apk. Затем вы можете увидеть содержимое файла AndroidManifset.

43 голосов
/ 15 января 2011

В этой теме Дайан Хэкборн говорит нам, что мы можем получить информацию из AndroidManifest с помощью aapt.

Я набрал эту быструю команду Unix, чтобы получить информацию о версии:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"
39 голосов
/ 12 февраля 2015

aapt d xmltree com.package.apk AndroidManifest.xml

сбросит AndroidManifest.xml из указанного APK. Он не в форме XML, но вы все равно можете прочитать его.

aapt (Android Asset Packaging Tool) - это встроенный инструмент, который поставляется с Android SDK.

29 голосов
/ 19 ноября 2016

Google только что выпустил кроссплатформенный инструмент с открытым исходным кодом для проверки APK (среди многих других двоичных форматов Android):

ClassyShark - это автономный двоичный инструмент проверки для разработчиков Android. Он может надежно просматривать любой исполняемый файл Android и отображать важную информацию, такую ​​как интерфейсы и члены класса, количество dex и зависимости. ClassyShark поддерживает несколько форматов, включая библиотеки (.dex, .aar, .so), исполняемые файлы (.apk, .jar, .class) и все двоичные XML-файлы Android: AndroidManifest, ресурсы, макеты и т. Д.

ClassyShark screenshot

13 голосов
/ 03 июля 2016

Вы можете использовать эту команду: сохранить в файл AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt
9 голосов
/ 06 января 2014

AXMLParser и APKParser.jar также могут выполнять работу, вы можете увидеть ссылку. AXMLParser

7 голосов
/ 19 мая 2016

Существует онлайн-инструмент, который позволяет загружать APK. Он декомпилирует его и, наконец, позволяет загружать ZIP-архив со всеми исходными файлами, XML-файлом манифеста и т. Д., Декомпилировать все это без необходимости устанавливать какую-либо программу на свой компьютер:http://www.javadecompilers.com/apk

Также, если вы хотите просто проверить некоторые параметры, которые вы можете, с помощью их пользовательского интерфейса

4 голосов
/ 26 февраля 2019

Вы можете использовать apkanalyzer, версию командной строки APK Analyzer в комплекте с Android SDK.Просто выполните следующую команду в CLI:

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

Вам нужно только заменить /path/to/android-sdk на правильный путь к вашей версии Android SDK и /path/to/app.apk на путь к вашему APK-файлу.

2 голосов
/ 31 января 2019

Aapt2, включенный в инструменты сборки Android SDK, может это сделать - сторонние инструменты не нужны.

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...