파이썬 설치 패키지 APK를 구 IPA 정보

# - * - 코딩 : UTF-8 - * - 
수입 수입 OS의
 수입 ZipFile에
 에서 biplist 수입 *
 에서 androguard.core.bytecodes 수입 APK의 


클래스 AnalyzePackage :
     데프 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, 버전 코드, 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 ' ] 
                버전 코드 = plist_root [ ' CFBundleVersion ' ] 
                BUNDLE_ID = plist_root [ ' CFBundleIdentifier ' ]
                 리턴 라벨 이름, BUNDLE_ID, 버전 코드 

    DEF get_ios_info_path ( 자기, ipaobj) : 
        infopath_re = re.compile (R" .. * 앱 /의 Info.plist ' )
         에 대한 I 에서 ipaobj.namelist () : 
            m = infopath_re.match (I)의
             경우, m은 없다  하지 없음 :
                 리턴 m.group () 
            
            
    DEF 자아 package_path (get_package_size) 
        FSIZE = os.path.getsize (package_path) 
        FSIZE = FSIZE / 플로트 (1,024 * 1,024 )  
         반송 원 (FSIZE 2)

 

추천

출처www.cnblogs.com/zhang-dan/p/11431520.html