Linux下7zip命令apk中插入文件标识渠道批量打包

来源:互联网 发布:拍网络剧多少钱 编辑:程序博客网 时间:2024/05/16 08:45

项目需要:需要对某个包分包,对渠道和下面的包做标记,但又不改变原包的签名,想到在原apk中插入某个带渠道号和包号的文件,服务器Linux环境,采用7zip 压缩格式解压,打包,插入文件到apk解压后的META-INF文件中

批量打包代码如下:

注意:传入的参数路径要先存在,Linux先安装7z 工具

#!/bin/bash#参数:# 1.原游戏包文件# 2.游戏ID# 3.渠道号# 4.渠道开始打包的包号# 5.打包个数# 6.临时文件地址# 7.存放分包的地址source_apk_file="$1"game_id="$2"promote_id="$3"subpkg_number="$4"count="$5"tmp_path="$6"target_apk_path="$7"pre_file_name="okwan"if [ ! -d ${tmp_path} ];thenmkdir -p ${tmp_path}fiif [ ! -d ${target_apk_path} ];thenmkdir -p ${target_apk_path}fitmp_apk_name="${tmp_path}game.apk"#chmod 0777 $tmp_apk_name#exit#test rm -rf /data1/mgame/Resource/Subpackages/*#test rm -rf /data1/mgame/Resource/SubpackageUnzip/*#exitfor i in `seq $game_startapk_id $count`docp -a $source_apk_file $tmp_apk_namemkdir -p -m 777 "${tmp_path}META-INF/"touch ${tmp_path}META-INF/${pre_file_name}_${promote_id}_${i}cd ${tmp_path}7za a game.apk META-INF/${pre_file_name}_${promote_id}_${i}target_apk_file="${target_apk_path}${pre_file_name}_${game_id}_${promote_id}_${i}.apk"mv game.apk ${target_apk_file}if [ -f ${target_apk_file} ];thenecho "{\"success\":1,\"file\":\"${target_apk_file}\",\"number\":${i}}"firm -rf "${tmp_path}*"donecd /rm -rf ${tmp_path}


                                             
0 0
原创粉丝点击