Parse versionCode from android apk files

2019-03-17 17:50发布

问题:

I know .apk files are .zip files, but AndroidManifest.xml looks binary and certainly grep or hex editors haven't been successful extracting the versionCode.

Does anybody know how to parse or extract it? I find myself in a Python script with the apks AndroidManifest.xml file open.

回答1:

Assuming you have the Android SDK installed, you can use aapt to find this value. For example, on Linux:

aapt dump badging MyAwesomeApplication.apk |grep version


回答2:

they are binary XML files. You can use a tool like AXML2XML to convert the binary XML file into a text-based XML file. There a few different tools, some do better jobs than others.

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:

Use android-apktool:

apktool.bat d application.apk



回答4:

You may refer to this. It reads necessary strings from the resource table while translating the binary xml file.