为了生成不同的渠道包,现在可以使用打包一个母包,在渠道包中加入comment信息进行标记不同的渠道包,apk其实就是一个zip压缩,可以在zipinfo里面写入comment信息以达到此需求
文件结构
配置渠道信息
Config.txt 中配置自己需要的渠道信息如下:
tencent
huawei
写入 (ApkCommentWriter.py)
#encoding:utf-8
import zipfile, os
import shutil
#读取配置信息生成对应的渠道包
with open(os.path.join(os.getcwd(), 'Config.txt'), 'r') as f:
lines = f.readlines()
for channelName in lines:
#拷贝源文件并复制
channelApk = os.path.join(os.getcwd(), channelName.strip('\n')+'.apk')
sourceApk = os.path.join(os.getcwd(), 'zipfile.apk')
shutil.copyfile(sourceApk, channelApk)
#写入对应的comment信息
zipFile = zipfile.ZipFile(os.path.join(os.getcwd(), channelApk), 'a')
zipFile.comment = channelName.strip('\n')
print 'channelName:', channelName, 'commont:', zipFile.comment
zipFile.close()
读取(ApkCommentReader.py)
#encoding:utf-8
import zipfile, os
path = "./"
dirs = os.listdir(path)
for i in dirs:
if os.path.splitext(i)[1] == '.apk':
zipFile = zipfile.ZipFile(i, 'a')
print 'apkname =' , i , '; comment= ' ,zipFile.comment