python 获取安装包apk, ipa 信息

# -*- coding:utf-8 -*-
import re
import os
import zipfile
from biplist import *
from androguard.core.bytecodes import apk


class AnalyzePackage:
    def get_android_data(self, package_file):
        try:
            apkobj = apk.APK(package_file)
        except Exception as err:
            print(err)
        else:
            if apkobj.is_valid_APK():
                versioncode = apkobj.get_androidversion_code()
                bundle_id = apkobj.get_package()
                labelname = apkobj.get_app_name()
                versioname = apkobj.get_androidversion_name()
                sdk_version = apkobj.get_target_sdk_version()
                return labelname, bundle_id, versioncode, versioname, sdk_version

    def get_ios_data(self, ios_file):
        if zipfile.is_zipfile(ios_file):
            ipaobj = zipfile.ZipFile(ios_file)
            info_path = self.get_ios_info_path(ipaobj)
            if info_path:
                plist_data = ipaobj.read(info_path)
                plist_root = readPlistFromString(plist_data)
                labelname = plist_root['CFBundleDisplayName']
                versioncode = plist_root['CFBundleVersion']
                bundle_id = plist_root['CFBundleIdentifier']
                return labelname, bundle_id, versioncode

    def get_ios_info_path(self, ipaobj):
        infopath_re = re.compile(r'.*.app/Info.plist')
        for i in ipaobj.namelist():
            m = infopath_re.match(i)
            if m is not None:
                return m.group()
            
            
    def get_package_size(self,package_path):
        fsize = os.path.getsize(package_path)
        fsize = fsize / float(1024 * 1024)  
        return round(fsize, 2)

 

转载于:https://www.cnblogs.com/zhang-dan/p/11431520.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值