赞
踩
本文是借助sdk里的工具aapt.exe获取apk信息,所获取apk获取信息为字符串,可以使用正则表达式从中获得apk版本号等想要的信息
系统环境:windows
运行环境:python2.7
依赖工具:aapt.exe
(”aapt.exe” 存放于文件夹”\build-tools\android-4.4.2\”下,下载地址为:https://android-sdk.en.softonic.com/)
#!/usr/bin/env python
#coding:utf-8
import os,re
#检查apk版本号等信息
def getAppBaseInfo(parm_aapt_path, parm_apk_path):
get_info_command = "%s dump badging %s" % (parm_aapt_path, parm_apk_path) #使用命令获取版本信息 aapt命令介绍可以相关博客
output = os.popen(get_info_command).read() #执行命令,并将结果以字符串方式返回
match = re.compile("package: name='(\S+)' versionCode='(\d+)' versionName='(\S+)'").match(output) #通过正则匹配,获取包名,版本号,版本名称
if not match:
print output
raise Exception("can't get packageinfo")
packagename = match.group(1)
versionCode = match.group(2)
versionName = match.group(3)
print u" 包名:%s \n 版本号:%s \n 版本名称:%s " % (packagename, versionCode, versionName)
if __name__=='__main__':
path = os.path.abspath(os.path.dirname(__file__)) + "\\"
aapt_path = path + "tools\\aapt.exe" #解析工具aapt.exe地址
apk_path = path + "publish_files\\TrunkingHome.apk" #apk地址
getAppBaseInfo(aapt_path, apk_path)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。