android apk批量打包工具
来源:互联网 发布:数值仿真软件 编辑:程序博客网 时间:2024/06/06 15:38
#!/usr/bin/python# coding=utf-8import osimport shutildef readChannelfile(filename): f = file(filename) while True: line = f.readline().strip('\n') if len(line) == 0: break else: channelList.append(line); f.close()def backUpManifest(): if os.path.exists('./AndroidManifest.xml'): os.remove('./AndroidManifest.xml') manifestPath = './temp/AndroidManifest.xml' shutil.copyfile(manifestPath, './AndroidManifest.xml')def modifyChannel(value): tempXML = '' f = file('./AndroidManifest.xml') for line in f: if line.find('channel_value') > 0: line = line.replace('channel_value', value) tempXML += line f.close() output = open('./temp/AndroidManifest.xml', 'w') output.write(tempXML) output.close() unsignApk = r'./bin/%s_%s_unsigned.apk' % (easyName, value) cmdPack = r'java -jar apktool.jar b temp %s' % (unsignApk) os.system(cmdPack) unsignedjar = r'./bin/%s_%s_unsigned.apk' % (easyName, value) signed_unalignedjar = r'./bin/%s_%s_signed_unaligned.apk' % (easyName, value) signed_alignedjar = r'./bin/%s_%s.apk' % (easyName, value) cmd_sign = r'jarsigner -verbose -keystore %s -storepass %s -signedjar %s %s %s' % ( keystore, storepass, signed_unalignedjar, unsignedjar, alianame) cmd_align = r'zipalign -v 4 %s %s' % (signed_unalignedjar, signed_alignedjar) os.system(cmd_sign) os.remove(unsignedjar) os.system(cmd_align) os.remove(signed_unalignedjar)channelList = []apkName = 'ApkTest.apk'easyName = apkName.split('.apk')[0]keystore = './keystore/ApkTest.keystore'storepass = '123456'alianame = 'ApkTest.keystore'output_apk_dir = "./bin"if os.path.exists(output_apk_dir): shutil.rmtree(output_apk_dir)readChannelfile('./channel')print '-------------------- your channel values --------------------'print 'channel list: ', channelListcmdExtract = r'java -jar apktool.jar d -f -s %s temp' % (apkName)os.system(cmdExtract)backUpManifest()for channel in channelList: modifyChannel(channel)if os.path.exists('./temp'): shutil.rmtree('./temp')if os.path.exists('./AndroidManifest.xml'): os.remove('./AndroidManifest.xml')print '-------------------- Done --------------------'
参考:http://m.blog.csdn.net/article/details?id=8634572
0 0
- android apk批量打包工具
- android 批量打包apk
- android批量打包工具图形界面
- Android Studio 批量打包,apk重命名
- android 使用ANT批量打包apk步骤
- android 使用ANT批量打包apk步骤
- 友盟apk批量打包工具 使用图文教材
- gradle批量打包apk
- android批量打包工具-python实现
- Android批量打包(Eclipse开发工具)
- Android批量打包-如何一秒内打完几百个apk渠道包
- Android批量打包-如何一秒内打几十个apk渠道包
- [Gradle] Android Studio批量打包完全自定义APK包名
- Android批量打包-如何一秒内打完几百个apk渠道包
- Android批量打包-如何一秒内打完几百个apk渠道包
- gradle批量打包Android apk(绪):在manifest中替换activity、service等组件,批量打包不同功能的apk。
- linux下apk批量打包
- apk多渠道批量打包memo
- 理解MySQL——索引与优化
- ubuntu软件安装:qq+mysql+Chrome+unity tweak tool+subline text3+inkScape+Unetbootin+Gimp+Vmware pro 12
- 浅谈STL之(一) 排序函数——next_permutation(a,a+n)
- JAVA计算日期时间差
- POJ 3211 Washing Clothes
- android apk批量打包工具
- hdu 5783 Divide the Sequence【水题】
- JAVA日期类型
- Android录制视频,仿微信小视频录制(一)
- requestWindowFeature(Window.FEATURE_NO_TITLE)无效解决方法
- 【Android】SlidingMenu属性详解
- python 实现tif图片转jpg图片 windows下
- [Arduino]HC-06蓝牙模块使用小结
- 在Windows上使用部分Linux命令