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.
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
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.
apktool.bat d application.apk
You may refer to this.
It reads necessary strings from the resource table while translating the binary xml file.