青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

路漫漫,長(zhǎng)修遠(yuǎn),我們不能沒有錢
隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
數(shù)據(jù)加載中……

解析 ipa 文件版本號(hào)等信息(基于 python)

python 3.x
 1 #!/usr/bin/python
 2 # Filename: ipaInfo3.py
 3 # author khan.lau
 4 
 5 # python 3.x
 6 
 7 import zipfile, plistlib, sys, re
 8 
 9 
10 def analyze_ipa_with_plistlib(ipa_path):
11     ipa_file = zipfile.ZipFile(ipa_path)
12     plist_path = find_plist_path(ipa_file)
13     plist_data = ipa_file.read(plist_path)
14     plist_root = plistlib.loads(plist_data)
15     print_ipa_info(plist_root)
16 
17 def print_ipa_info(plist_root):
18     print ('Display Name: %s' % plist_root['CFBundleName'])
19     print ('Bundle Identifier: %s' % plist_root['CFBundleIdentifier'])
20     print ('Version: %s' % plist_root['CFBundleShortVersionString'])
21 
22 def find_plist_path(zip_file):
23     name_list = zip_file.namelist()
24     # print name_list
25     pattern = re.compile(r'Payload/[^/]*.app/Info.plist')
26     for path in name_list:
27         m = pattern.match(path)
28         if m is not None:
29             return m.group()
30 
31 
32 
33 if __name__ == '__main__':
34     args = sys.argv[1:]
35     if len(args) < 1:
36         print ('Usage: python ipaInfo3.py /path/to/ipa')
37         exit(0);
38  
39     ipa_path = args[0]
40     analyze_ipa_with_plistlib(ipa_path)
41 


python 2.7.x
 1 #!/usr/bin/python
 2 # Filename: ipaInfo2.py
 3 # author khan.lau
 4 
 5 # python 2.7.5
 6 # project need third_party lib biplist, please run 'sudo pip install biplist'
 7 
 8 import zipfile, biplist, sys, re
 9 
10 
11 def analyze_ipa_with_plistlib(ipa_path):
12     ipa_file = zipfile.ZipFile(ipa_path)
13     plist_path = find_plist_path(ipa_file)
14     plist_data = ipa_file.read(plist_path)
15     plist_root = biplist.readPlistFromString(plist_data)
16     print_ipa_info(plist_root)
17 
18 def print_ipa_info(plist_root):
19     print ('Display Name: %s' % plist_root['CFBundleName'])
20     print ('Bundle Identifier: %s' % plist_root['CFBundleIdentifier'])
21     print ('Version: %s' % plist_root['CFBundleShortVersionString'])
22 
23 def find_plist_path(zip_file):
24     name_list = zip_file.namelist()
25     # print name_list
26     pattern = re.compile(r'Payload/[^/]*.app/Info.plist')
27     for path in name_list:
28         m = pattern.match(path)
29         if m is not None:
30             return m.group()
31 
32 
33 
34 if __name__ == '__main__':
35     args = sys.argv[1:]
36     if len(args) < 1:
37         print ('Usage: python ipaInfo2.py /path/to/ipa')
38         exit(0);
39  
40     ipa_path = args[0]
41     analyze_ipa_with_plistlib(ipa_path)


python2.7 不包含 plistlib, 所以需要引入第三方庫(kù) biplist,  使用 easy_install 或 pip 安裝庫(kù)即可, biplist 支持 data 解析, 相對(duì)于 plistlib 而已, 只需改動(dòng)極少代碼, 所以采用他

posted on 2015-01-04 13:10 Khan 閱讀(4312) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 跨平臺(tái)開發(fā)周邊技術(shù)

評(píng)論

# re: 解析 ipa 文件版本號(hào)等信息(基于 python)  回復(fù)  更多評(píng)論   

ipa_path 怎么寫
2015-03-04 10:58 | jin

# re: 解析 ipa 文件版本號(hào)等信息(基于 python)  回復(fù)  更多評(píng)論   

@jin
Usage: ./ipaInfo2.py /path/to/ipa'
2015-03-09 12:23 | khan.lau
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久久久久久久借妻 | 国产精品热久久久久夜色精品三区| 亚洲精品在线观看免费| 欧美在线观看www| 在线综合亚洲欧美在线视频| 亚洲电影免费在线观看| 国产日韩av在线播放| 欧美日韩一区二区三区四区五区| 久久中文字幕一区| 久久精品色图| 久久久久.com| 久久五月天婷婷| 久久全国免费视频| 久久久精彩视频| 国产在线视频欧美一区二区三区| 中国日韩欧美久久久久久久久| 亚洲国产日韩欧美一区二区三区| 欧美成人午夜激情在线| 欧美国产极速在线| 亚洲国产高清视频| 香蕉尹人综合在线观看| 最新日韩在线视频| 亚洲国产美女久久久久| 宅男噜噜噜66国产日韩在线观看| 午夜视频在线观看一区二区三区| 久久爱www久久做| 亚洲国产精品毛片| 亚洲综合国产精品| 免费人成精品欧美精品| 欧美天天影院| 亚洲免费电影在线| 久久久噜噜噜久久久| 亚洲人成毛片在线播放女女| 亚洲欧美另类久久久精品2019| 蜜乳av另类精品一区二区| 中文欧美字幕免费| 男同欧美伦乱| 尤物99国产成人精品视频| 免费看亚洲片| 一本久道久久综合狠狠爱| 一本一本a久久| 在线免费观看日本欧美| 亚洲精品国产精品国自产观看| 久久久精品一区| 欧美jizzhd精品欧美喷水| 亚洲区在线播放| 久久国产一区| 国产精品国产自产拍高清av王其| 亚洲激情在线播放| 久久久久久久久久码影片| 亚洲尤物在线| 国产精品久久久久秋霞鲁丝| 亚洲美女中文字幕| 久久资源在线| 香蕉久久a毛片| 国产美女诱惑一区二区| 亚洲欧美在线播放| 日韩一级二级三级| 欧美日韩国产不卡| 亚洲第一毛片| 免费不卡在线观看| 久久久久久久久久码影片| 国产视频一区二区三区在线观看| 国产亚洲美州欧州综合国| 亚洲你懂的在线视频| 亚洲精品社区| 欧美色图天堂网| 亚洲欧美综合v| 久久超碰97人人做人人爱| 精品成人国产在线观看男人呻吟| 一本久道久久久| 午夜老司机精品| 伊人久久亚洲热| 亚洲日本黄色| 精品成人免费| 99视频一区二区三区| 伊人久久综合| 性欧美video另类hd性玩具| 亚洲级视频在线观看免费1级| 日韩视频一区| 亚洲精品麻豆| 女生裸体视频一区二区三区| 久久国产天堂福利天堂| 欧美午夜精品久久久久久久| 女女同性精品视频| 国产婷婷一区二区| 亚洲神马久久| 午夜精品福利视频| 国产精品嫩草99av在线| 99国产麻豆精品| 亚洲一区www| 欧美日韩中文字幕日韩欧美| 最新成人在线| 亚洲一区亚洲二区| 国产农村妇女精品| 久久精品欧美| 亚洲精品久久久久久久久| 一区二区三区精品国产| 国产精品久久久久aaaa九色| 亚洲欧美日韩精品久久奇米色影视| 午夜宅男欧美| 欧美一区二区三区免费大片| 一区二区三区久久网| 亚洲天堂免费观看| 国产精品影音先锋| 久久人人97超碰国产公开结果| 久久国内精品视频| 亚洲日本精品国产第一区| 欧美日韩dvd在线观看| 亚洲欧美日韩国产中文在线| 麻豆精品视频在线| 一区二区91| 尤物网精品视频| 国产精品激情av在线播放| 欧美一区二粉嫩精品国产一线天| 亚洲第一网站免费视频| 亚洲一区二区三区精品动漫| 在线欧美电影| 国产精品三级久久久久久电影| 美女尤物久久精品| 香蕉国产精品偷在线观看不卡| 91久久亚洲| 最新国产成人在线观看| 蜜桃av综合| 欧美3dxxxxhd| 欧美高清视频免费观看| 久久全国免费视频| 久久av免费一区| 亚洲男人第一网站| 在线视频你懂得一区| 亚洲国产精品一区二区尤物区| 国产精品第2页| 欧美三级欧美一级| 欧美韩日亚洲| 欧美精品在线播放| 欧美激情精品| 国产亚洲欧美另类中文| 国产精品久久久免费| 国产精品h在线观看| 国产精品久久久久久久久久三级| 欧美日韩在线免费| 欧美日韩国产91| 国产日韩欧美电影在线观看| 国产欧美一区二区精品仙草咪 | 欧美在线三级| 欧美精品在线看| 国产精品女主播在线观看| 国产精品久久久久久久久久久久久久| 欧美日韩亚洲一区三区| 国产精品美女久久久| 狠狠色丁香婷婷综合久久片| 在线观看日韩av电影| 亚洲乱码精品一二三四区日韩在线 | 久久久久久久999| 亚洲夫妻自拍| 亚洲一区二区三区精品动漫| 午夜精品久久久久久久久久久久久| 久久―日本道色综合久久| 欧美日韩午夜在线| 亚洲欧洲综合另类| 久久久之久亚州精品露出| 亚洲精品国产精品久久清纯直播 | 美女精品一区| 久久久久在线观看| 国产精品久久久久高潮| 亚洲欧洲日本一区二区三区| 久久人体大胆视频| 香蕉av福利精品导航| 国产精品一区三区| 亚洲综合不卡| 在线综合欧美| 国产精品二区三区四区| 91久久精品国产91久久性色| 久久国产精品99久久久久久老狼| 91久久精品日日躁夜夜躁欧美| 性亚洲最疯狂xxxx高清| 欧美日韩精选| 午夜激情一区| 亚洲香蕉伊综合在人在线视看| 欧美久久久久久久| 亚洲色图综合久久| 亚洲人成毛片在线播放| 欧美国产视频在线| 亚洲精品综合在线| 亚洲国产一区二区a毛片| 欧美激情中文字幕一区二区| 亚洲视频二区| 欧美一区二区三区免费观看视频| 国产亚洲激情视频在线| 欧美成人精品在线视频| 久久久久久午夜| 亚洲精品资源| 亚洲欧美日韩国产中文 | 国产精品美女视频网站| 久久精品免费观看| 美女主播一区| 亚洲欧美日本日韩| 久久国产精品毛片| 亚洲精品中文字幕在线| 亚洲精品欧美专区|