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

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

路漫漫,長修遠,我們不能沒有錢
隨筆 - 173, 文章 - 0, 評論 - 257, 引用 - 0
數據加載中……

解析 ipa 文件版本號等信息(基于 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, 所以需要引入第三方庫 biplist,  使用 easy_install 或 pip 安裝庫即可, biplist 支持 data 解析, 相對于 plistlib 而已, 只需改動極少代碼, 所以采用他

posted on 2015-01-04 13:10 Khan 閱讀(4311) 評論(2)  編輯 收藏 引用 所屬分類: 跨平臺開發周邊技術

評論

# re: 解析 ipa 文件版本號等信息(基于 python)  回復  更多評論   

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

# re: 解析 ipa 文件版本號等信息(基于 python)  回復  更多評論   

@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>
            久久久亚洲精品一区二区三区| 亚洲一区在线观看视频| 欧美在线视频免费观看| 中日韩高清电影网| 亚洲国产第一| 一区二区亚洲| 国产精品亚洲精品| 性欧美激情精品| 欧美在线电影| 久久精品国产一区二区三| 午夜精品国产| 久久精品一区二区三区四区| 欧美一区二区国产| 欧美一区在线看| 欧美国产日产韩国视频| 久色成人在线| 欧美日韩一区二区三区高清| 欧美日韩综合另类| 欧美色欧美亚洲高清在线视频| 国产老肥熟一区二区三区| 国产午夜精品美女视频明星a级| 狠狠色综合网| 夜夜嗨av色综合久久久综合网| 亚洲少妇自拍| 欧美~级网站不卡| 亚洲国产精品嫩草影院| 一本久道久久综合狠狠爱| 99热精品在线| 亚洲一区在线看| 久久躁日日躁aaaaxxxx| 欧美激情一级片一区二区| 国产精品日日摸夜夜添夜夜av| 国产女精品视频网站免费| 狠狠干成人综合网| 日韩西西人体444www| 亚洲综合激情| 欧美日韩大片| 亚洲图片欧美日产| 亚洲欧美国产精品桃花| 久久中文欧美| 国产精品久久久久91| 亚洲高清网站| 午夜精品久久久久99热蜜桃导演| 久久精品国产精品亚洲| 99热免费精品| 久热爱精品视频线路一| 国产在线视频欧美一区二区三区| 亚洲欧洲另类| 久久国产精品毛片| 一区二区三区日韩欧美| 久久精品视频在线播放| 国产精品一区久久| 99热这里只有成人精品国产| 午夜精品久久99蜜桃的功能介绍| 欧美va天堂在线| 亚洲欧美成人| 国产精品自拍网站| 亚洲调教视频在线观看| 亚洲国产精品一区| 久久精品国产成人| 国产精品高潮呻吟久久av黑人| 亚洲最新视频在线播放| 欧美sm视频| 欧美va天堂| 一区二区三区在线视频免费观看 | 欧美激情女人20p| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲久久视频| 久久人人97超碰人人澡爱香蕉| 国产精品va在线| 亚洲欧美国产一区二区三区| 亚洲第一天堂无码专区| 中国成人在线视频| 国产精品视频yy9099| 日韩一区二区久久| 亚洲欧洲一区二区天堂久久| 久久精品亚洲国产奇米99| 美女在线一区二区| 亚洲免费电影在线| 欧美激情精品久久久久久大尺度| 米奇777超碰欧美日韩亚洲| 国模一区二区三区| 久久狠狠婷婷| 女女同性精品视频| 亚洲国产成人精品视频| 亚洲精品小视频在线观看| 欧美精品成人一区二区在线观看 | 日韩视频在线观看一区二区| 欧美电影在线观看| 噜噜噜久久亚洲精品国产品小说| 亚洲人成在线观看网站高清| 欧美好骚综合网| 欧美国产日韩一区二区三区| 亚洲视频免费在线| av成人免费| 国产一区二区三区自拍| 久久久999| 久久久久综合网| 国产精品99久久久久久久女警| 99re66热这里只有精品4| 国产精品视区| 久久亚洲视频| 欧美精品1区| 久久免费高清| 免费不卡亚洲欧美| 欧美影院午夜播放| 久久精品夜色噜噜亚洲aⅴ| 国产精品中文在线| 欧美激情一区在线| 欧美日韩国产色综合一二三四 | 午夜视频一区| 亚洲理论在线| 亚洲一区二区三区在线观看视频 | 亚洲第一精品在线| 日韩视频专区| 亚洲高清在线播放| 正在播放亚洲| 最新成人av网站| 亚洲欧美日韩一区二区三区在线观看| 国产亚洲欧洲| 亚洲一区二区三区高清不卡| 亚洲福利视频专区| 午夜精品福利在线| 日韩视频二区| 亚洲午夜av| 亚洲免费激情| 欧美一级大片在线观看| 亚洲欧美日韩精品久久久久| 久久久噜噜噜久噜久久| 欧美中文字幕视频| 欧美日本韩国在线| 国产精品丝袜91| 亚洲三级免费观看| 激情欧美一区二区三区| 午夜一区在线| 亚洲午夜视频| 欧美日韩一区二区三区在线 | 久久综合九色综合欧美就去吻| 一区二区动漫| 一区二区三区视频在线观看| 亚洲欧洲综合| 亚洲国产精品悠悠久久琪琪| 亚洲视频一区二区| 国产精品爽爽ⅴa在线观看| 亚洲久久成人| 日韩视频一区二区在线观看| 香蕉久久夜色精品| 久久频这里精品99香蕉| 国产精品午夜春色av| 亚洲欧美在线高清| 亚洲一级网站| 欧美.com| 亚洲午夜免费视频| 精品成人一区二区| 国产伦精品免费视频 | 久久精品综合一区| 亚洲视频高清| 国产精品一区亚洲| 一区二区三区高清在线 | 亚洲人成网站999久久久综合| 久久激情综合| 亚洲一区一卡| 国产日产高清欧美一区二区三区| 亚洲特色特黄| 久久综合给合| 在线视频成人| 国产精品国产精品| 亚洲视频第一页| 老司机一区二区三区| 一区二区亚洲精品国产| 欧美成年人网站| 99精品国产99久久久久久福利| 在线免费观看欧美| 欧美日韩国产成人| 一区二区三区国产精华| 久久一区精品| 亚洲欧洲日韩女同| 国产精品自拍网站| 久久久久久久91| 99人久久精品视频最新地址| 亚洲欧美成人在线| 国产日韩在线亚洲字幕中文| 亚洲一级黄色片| 久久嫩草精品久久久精品| 在线看片第一页欧美| 欧美精品一区二区三区高清aⅴ| 一区二区日韩欧美| 久久一区二区三区国产精品 | 欧美成人午夜77777| 亚洲综合欧美| 免费在线亚洲| 欧美一区二区私人影院日本 | 国产精品无码专区在线观看| 久久不射网站| 亚洲视频导航| 欧美一区午夜精品| 亚洲欧美文学| 久久久欧美精品sm网站| 一区三区视频| 国产亚洲免费的视频看|