2010-11-16 2 views
233

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

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

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

+0

Hi Насколько я знаю, невозможно, какую информацию вы пытаетесь получить? –

+0

У меня есть один файл APK. Мне нужно просмотреть файл Androidmanifest.xml. потому что я использовал один фреймворк. Этот файл APK также использовал ту же структуру. Поэтому мне нужно посмотреть, как настроить файл Androidmanifest из этого файла APK. – bharath

+0

@ Джейсон Роджерс: AFAIK вы можете просмотреть эту информацию. См. [This] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/4191807#4191807) –

ответ

199

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

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

Как сделать это на системе Windows:

  1. Download apktool-install-windows-* file
  2. Download apktool-* file
  3. Распакуйте оба в ваш Windows-каталог ectory

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

apktool d HelloWorld.apk ./HelloWorld 

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

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

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

+12

Это приятно, но я хотел бы знать, как просто посмотреть на AndroidManifest.xml, не загружая все это. Зашифровано или сжато? – JohnnyLambada

+1

** @ JohnnyLambada **: Да, вы можете открыть и просмотреть его в инструменте архивирования, например: ** WinRar/WinZip/7Zip **, но это не имеет смысла, поскольку оно находится в зашифрованном виде. –

+0

можно расшифровать, немного изменить его (например, minSdkVersion), а затем вернуть обратно в apk? –

40

В этом thread, Дайан Hackborn говорит нам, что мы можем получить информацию из используя AAPT AndroidManifest.

я взбитый эта быстрая команду UNIX, чтобы захватить информацию о версии:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p" 
+0

можно ли это сделать даже в приложении для Android? Кроме того, можно ли получить весь файл манифеста, а не только имя версии? –

237

Вы можете непосредственно использовать aapt l -a name.apk команды, чтобы увидеть manifest.xml.

Эта ссылка может помочь http://elinux.org/Android_aapt

(Это также дамп таблицы ресурсов.)

+5

aapt включен в Android SDK, также вы можете использовать '--target-sdk-version' для вставки в манифест. –

+0

как насчет расшифровки xml? – aelam

+11

Это самый простой способ. Я всегда использую его. 'aapt', расположенный в' $ {ANDROID_HOME}/build-tools/[version] 'forlder. Чтобы распечатать все разрешения, которые приложение хочет использовать, просто запустите: '$ aapt l -a app.apk | grep android.permission' – ddmytrenko

8

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

+1

Этот инструмент не обновлялся годами. Google только что выпустил [Android двоичный инструмент проверки] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/40686067#40686067) в ноябре 2016 года. –

1

Это старая тема, но я думал, что хочу сказать, что ваш телефон имеет root, вы можете просматривать его прямо на своем телефоне с помощью приложения root explorer. Вам даже не нужно извлекать его, чтобы видеть.

+0

вы можете точно увидеть манифест? – barq

30

aapt d xmltree com.package.apk AndroidManifest.xml

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

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

6

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

Кроме того, если вы хотите просто проверить на некоторых Params вы можете, их UI

+0

Работает на APK в августе, не работал над другим в ноябре. –

9

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

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt 
+0

'd' является аббревиатурой от' dump', что делает этот ответ идентичным [this one] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/28464940 # 28464940), который был опубликован более года назад. –

+4

Да, но этот код сохраняется в файле '> AndroidManifest.txt'. –

+5

Большая разница !!! 111 –

30

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

+1

Эта функция была добавлена ​​недавно, и я также хотел бы предложить это, если вы не любите использовать командную строку, и у вас есть платформенные инструменты на вашем пути. – anthonymonori

18

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

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

ClassyShark screenshot

0

Вы также можете использовать мое приложение, App Detective, чтобы просмотреть файл манифеста любого приложения, установленного на вашем устройстве.