加密通道怎么创建 (加密数据包如何生成)

查看原文:【技术分享】教你如何一键生成加密渠道包

点击关注“八戒技术团队”,阅读更多技术干货

今天给大家分享一下android应用开发的最后一步——制作可发行的apk。

如今对可发行apk的要求主要集中在满足多渠道分析及如何提高安全性上, 所以为了满足这两个要求,需要制作多个具有渠道标识的apk并对这些apk进行二次加密。

walle是市面上比较好的多渠道打包方案,解决了传统打包十分缓慢的问题,能对apk提供加密技术的工具也有很多,这里以360加固为基础并结合walle,制作一键生成加密渠道包的脚本 简化发版过程

准备工作

a. walle-cli-all.jar

walle是市面上比较好的多渠道打包方案, 解决了传统打包十分缓慢的问题。walle-cli是walle提供的生成多渠道apk的命令行程序。GitHub

b. 360加固工具包。点击*载下**

加密数据包如何生成,加密通道怎么创建

加固包有两部分,一是可视化工具,二是命令行工具,因为我们要制作加密+渠道包,所以这里只用命令行工具即可。

配置环境变量

在加密过程中会用到adb, aapt, zipalign, apksigner等工具,所以把这些工具加入到系统里方便执行。

/Users/你的用户名/androidsdk目录/platform-tools

/Users/你的用户名/andoridsdk目录/build-tools/最新版本

a. 打开。bash_profile文件

b. 编辑。bash_profile文件,内容如下:

ANDROID_HOME=/Users/你的用户名/androidsdk目录

export PATH=$PATH:$ANDROID_HOME/platform-tools

export PATH=$PATH:$ANDROID_HOME/build-tools/最新版本

注:配置环境变量不是必须的,如果不配置,后续命令需要进入对应的目录下去执行。

制作脚本

加密数据包如何生成,加密通道怎么创建

将*载下**的360工具包拷贝到工程根目录下。

创建脚本publish。sh,编辑内容如下:

1. 360加固-登录和加固

由于使用360加固需要登录,所以加固步骤为两步。

先编辑加固要用到的变量

加密数据包如何生成,加密通道怎么创建

此处需要先cd到jiagu目录,原因不明。命令执行结束后再cd 。。退出目录

加密数据包如何生成,加密通道怎么创建

注意:这里加密后的apk是没有签名的。

2. 优化和对齐App

通过zipalign优化是帮助操作系统更高效率的根据请求索引资源, 提高Applications与Android系统的交互效率。

##对齐

if [ ! -a "上一次优化后的apk" ]; then

rm -f 上一次优化后的apk

fi

zipalign -v 4 "需要优化的apk""优化后的apk"

完整内容如下图:

加密数据包如何生成,加密通道怎么创建

3. 签名

采用androidSDK自带的签名工具进行签名。

先编辑签名需要的变量

加密数据包如何生成,加密通道怎么创建

完成内容如下图:

加密数据包如何生成,加密通道怎么创建

注:如果之前没有配置环境变量,这里就需要cd到apksigner的目录后再执行命令。

4. 打渠道包

用walle-cli对已签名的apk进行分渠道打包。

先编辑渠道需要的变量

加密数据包如何生成,加密通道怎么创建

完整内容如下图:

加密数据包如何生成,加密通道怎么创建

5. 执行脚本

在terminal中cd到工程根目录,执行publish.sh即可。

补充说明:

360加固自带了签名功能呢, 不使用360签名是因为360签名不支持v2,v3签名, 所以采用了andorid原生签名工具

ver: 表示当前apk的版本

$(cd `dirname $0`; pwd): 表示当前脚本所在目录的绝对路径

扩展思考:

此脚本可以跟assembleRelease进行关联,在生成releaseApk后,自动执行,进一步简化发版过程。

最后附上完整脚本,如下:

加密数据包如何生成,加密通道怎么创建

希望以上内容能对有需要的人有所帮助

欢迎大家一起探讨交流