如何批量加密(如何打包加密)

今天给大家分享一下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后,自动执行,进一步简化发版过程。

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

如何批量加密(如何打包加密)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论