Разобрать версию кода из Android APK-файлов - PullRequest
19 голосов
/ 24 января 2011

Я знаю, что файлы .apk - это файлы .zip, но AndroidManifest.xml выглядит двоично и, конечно, редакторам grep или hex не удалось извлечь versionCode.

Кто-нибудь знает, как его проанализировать или извлечь?Я нахожусь в скрипте Python с открытым файлом apks AndroidManifest.xml.

Ответы [ 4 ]

34 голосов
/ 18 мая 2012

Если у вас установлен Android SDK, вы можете использовать aapt, чтобы найти это значение. Например, в Linux:

aapt dump badging MyAwesomeApplication.apk |grep version
3 голосов
/ 24 января 2011

это двоичные XML-файлы.Вы можете использовать такой инструмент, как AXML2XML, чтобы преобразовать двоичный файл XML в текстовый файл XML.Есть несколько разных инструментов, некоторые из них работают лучше, чем другие.

AXML2XML: http://devtcg.blogspot.com/2008/03/tool-to-read-android-binary-xml-files.html

AXMLPrtiner: http://forum.xda -developers.com / showthread.php? T = 514412

2 голосов
/ 23 марта 2012

Использование android-apktool :

apktool.bat d application.apk

1 голос
/ 21 января 2014

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

...