Parse versionCode из файлов android apk

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

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

Ответ 1

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

aapt dump badging MyAwesomeApplication.apk |grep version

Ответ 2

это двоичные 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

Ответ 3

Используйте android-apktool:

apktool.bat d application.apk

Ответ 4

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