linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包

项目需要:需要对某个包分包,对渠道和下面的包做标记,但又不改变原包的签名,想到在原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} ];then

mkdir -p ${tmp_path}

fi

if [ ! -d ${target_apk_path} ];then

mkdir -p ${target_apk_path}

fi

tmp_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/*

#exit

for i in `seq $game_startapk_id $count`

do

cp -a $source_apk_file $tmp_apk_name

mkdir -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} ];then

echo "{\"success\":1,\"file\":\"${target_apk_file}\",\"number\":${i}}"

fi

rm -rf "${tmp_path}*"

done

cd /

rm -rf ${tmp_path}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值