前言:当应用开发完成,需要发布的安卓市场,由于国内googleplay的行不通,所以有了360,百度,华为等等应用市场,那么对于不同的市场,需要在应用中加入标识,方便后台统计分析,所以需要对不同的市场加入渠道号,这是使用美团2代多渠道打包工具,然后发布360的市场,360还要求进行加固apk,但是发现加固后里面的渠道号不见了,只能通过python脚本工具重新对360加固后的apk进行添加渠道号,这样子就完成啦!(下面的环境是Mac下完成的!)
一:美团2代多渠道打包
GitHub : https://github.com/Meituan-Dianping/walle
配置build.gradle, 见说明
配置插件
walle {
// 指定渠道包的输出路径
apkOutputFolder = new File("${project.buildDir}/outputs/channels");
// 定制渠道包的APK的文件名称
apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk';
// 渠道配置文件
channelFile = new File("${project.getProjectDir()}/channel")
}
上面的apkFileNameFormat文件,可以修改相关信息,自己配置如下:
// 多渠道打包,命令 gradle clean assembleReleaseChannels
// productFlavors 不要配置渠道了,如果使用还要修改代码中对flavor的调用
walle {
// 指定渠道包的输出路径
apkOutputFolder = new File("${project.buildDir}/outputs/channels")
// 定制渠道包的APK的文件名称
apkFileNameFormat = 'assapp-${channel}-${buildType}-v${versionName}-${buildTime}.apk'
// 渠道配置文件
channelFile = new File("${project.getProjectDir()}/channel")
}
配置完成后,执行命令:
gradle clean assembleReleaseChannels
多渠道就打包完成, 见下图
image.png二:360加固
下载360加固助手:https://jiagu.360.cn/#/global/download
1: mac环境10.12以上,打不开,尝试了几种方法,只有在文件夹jiagu->login执行打开
2: 点击“ 加固应用 ”, 如果提示要签名,选择“暂不配置”,就是加固过程中不签名
image.png3: 然后加固完成,拿到输出文件,安装apk到手机,发现渠道不见了,下面就有了python脚本添加渠道到apk中
image.png三:python 多渠道打包
Github: https://github.com/Jay-Goo/ProtectedApkResignerForWalle
1:下载这个项目的文件后,解压, 把上一步加固的apk放到文件夹中,并新建了channels文件夹
image.png2: 打开config.py脚本,配置你的签名文件和刚刚加固的apk信息
image.png3: 终端执行命令
python ApkResigner.py
成功输出渠道包,详细见下图!
image.png4: 安装其中一个打包好的apk,检查渠道成功,如下图!
image.png这样一个apk就加入了渠道号,并加固完成了!
网友评论