PythonはインストールパッケージAPK、IPA情報を入手します

- * -コーディング:UTF-8 - * - 
インポートインポートのOS
 インポートzipファイル
 から biplist インポート *
 から androguard.core.bytecodes 輸入のapk 


クラスAnalyzePackage:
     DEF get_android_data(自己、PACKAGE_FILE):
         試してください
            apkobj = apk.APK(PACKAGE_FILE )
         を除くERRとして例外:
             プリント(ERR)
         もしapkobj.is_valid_APK():
                versioncode =apkobj.get_androidversion_code()
                bundle_id = apkobj.get_package()
                ラベル名 = apkobj.get_app_name()
                versioname = apkobj.get_androidversion_name()
                sdk_version = apkobj.get_target_sdk_version()
                 戻りラベル名、bundle_id、versioncode、versioname、sdk_version 

    DEF get_ios_data(自己、ios_file) :
         もしzipfile.is_zipfile(ios_file):
            ipaobj = zipfile.ZipFile(ios_file)
            info_path = self.get_ios_info_path(ipaobj)
            もしinfo_path:
                plist_data = ipaobj.read(info_path)
                plist_root = readPlistFromString(plist_data)
                ラベル名 = plist_root [ ' CFBundleDisplayName ' ] 
                versioncode = plist_root [ ' のCFBundleVersion ' ] 
                bundle_id = plist_root [ ' CFBundleIdentifier ' ]
                 戻りラベル名、bundle_id、versioncode 

    DEF get_ios_info_path(セルフ、ipaobj):
        infopath_re = re.compile(R' *アプリ/ Info.plistファイル。。' のためのipaobj.namelist():
            M = infopath_re.match(I)
             場合、mがあるん ではないなし:
                 リターンm.group()
            
            
    デフget_package_size(自己、PACKAGE_PATH):
        FSIZE = os.path.getsize(PACKAGE_PATH)
        FSIZE = FSIZE /フロート(* 1024×1024 リターンラウンド(FSIZE、2)

 

おすすめ

転載: www.cnblogs.com/zhang-dan/p/11431520.html