当前位置:   article > 正文

使用Python获取apk信息(包名、版本号和版本名称等信息)_python获取apk包名

python获取apk包名

摘要

本文是借助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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/675684
推荐阅读
相关标签
  

闽ICP备14008679号