分享apk批量打包脚本

在做项目的过程中,打包是一个很繁琐的工作,特别是涉及到各种渠道包的时候需要设置各种渠道包参数,如果您的参数是设置在android代码下,那么你就可以通过 (解包-修改参数-捆包) 这些操作来完成批量生成渠道包的工作。下面开始我的表演:
第一步
你首先需要安装jdk的环境变量。百度以下:jdk配置环境变量_SAP小白kenny的博客-CSDN博客_jdk 环境变量设置

第二步
还得下一个apktools.jar 的工具包:这个去百度找一下吧,文件太大了上传不上去。

第三步
我们需要一个apk,做为我们的母包,后续的渠道包都是基于这个母包来改动的。

第四步
既然是批量打包,那就应该是脚本一键生成的,因此,我们需要建一个脚本,这里我用的是python3

第五步
准备工作做完了我们开始写一键生成的脚本:
我们会用到以下几个命令:
解包命令:java -jar apktols.jar路径 d -f 母包apk路径 -o 解包存放路径
捆包命令:java -jar apktols.jar路径 b -f 解包存放路径 -o 输出路径
签名命令:jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp -keystore 签名文件路径 -storepass 签名密码 -keypass 别名密码 需要签名的apk路径 签名别名

下面我们来写一个解包的代码片段:

像这样再写一个捆包的代码片段:

以上解包捆包的代码就完成了,下面我们要在解包的地方修改我们的参数:
1.修改AndroidManifest.xml文件参数

2.修改gradle.build文件信息

3.修改游戏名称

修改完以上参数后在执行捆包操作,我们的新渠道包就打出来了。
下面附上代码:
批量打包脚本.zip (3.2 KB)

4赞

赞!不过如果你的不同渠道的区别只是 AndroidManifest 和 gradle的话,那可以用更优雅的方式来实现,搜一下gradle flavor

gradle flavor 这个只能打一个渠道母包吧,要是一个官网渠道要打10个不同标记的包,就不太适用了

同一楼,推荐你使用gradle的多渠道

1赞

了解一下gradle,你就知道你这个有多麻烦了,你这个方法在之前用eclipse打包时用过,用as后谁还用这玩意儿

还有个更简单的使用 zip流处理 往apk包里面塞入渠道文件 java代码读取渠道文件
缺点就是不能使用v2加固

也有处理v2加固的办法,只是更复杂一些