本脚本用来把安卓母包复制,并且在新的apk包中写入渠道号文件
# 需要参数
# 1 游戏文件 路径 filename 母包
# 2 文件名
# 3 渠道id (字符串)
import os
import shutil
import time
import zipfile
def write_apk(srcpath, filename, channelname):
filename = filename+".apk"
fullfilename = os.path.join(srcpath, filename) # 路径加文件名
if not os.path.exists(fullfilename):
# 伪代码 定义好错误提示
print("母包不存在")
return "failed"
else:
try:
# 复制母包
newfilename = filename.split('.')[0] +'_'+ channelname + '.apk'
newfullfilename = os.path.join(srcpath, newfilename)
shutil.copy(fullfilename, newfullfilename)
print("复制apk母包并重命名完成")
# 添加渠道文件到新包
nz = zipfile.ZipFile(newfullfilename, 'a')
empty_channel_file = "META-INF/gamechannel"
nz.writestr(empty_channel_file, '{"agentgame":"%s"}' % (channelname), compress_type=zipfile.ZIP_DEFLATED)
nz.close()
# 伪代码提示成功
return 'success'
except Exception:
return 'server_error'
#测试执行
if __name__ == '__main__':
start = time.clock()
write_apk('D:\Desktop\脚本', 'hzzg_7', 'ugs3rh8j')
end = time.clock()
print("The function run time is : %.03f seconds" % (end - start))