美文网首页不知如何打坐
Android多渠道打包和加固那些事

Android多渠道打包和加固那些事

作者: 曾是个文物 | 来源:发表于2017-06-09 10:39 被阅读0次

    多渠道两种打包方式:

    一.利用android studio的productFlavors去多渠道打包。速度慢,让人崩溃。但与市场上的一些加固无缝接入。

    二.利用美团的walle,快速高效,但是在加固上需要特殊处理。 

    首先介绍第一种:

    配置渠道

    我们在项目的build.grade的android中添加:

    然后在签名打包时候就可以单一选中或者多选择渠道打包了

    重点介绍第二种:(windows)

    利用android studio打出apk,然后利用美团的walle配置直接打包

    对该工具的原理感兴趣的同学,可以移步美团Android新一代渠道包生成工具进行了解。

    但是问题来了,如果按照这种方式去加固,需要对所有包一一加固,速度慢,而且加固之后不能获取到对应的渠道名了,对于渠道埋点受到影响。所以借鉴网上多方资料,对于walle打包和加固的结合,请网上看:

    步骤1:只加固不签名

    之前打出的apk,有的说需要签名,有的说不需要签名,但对我的理解是去加固的apk肯定是不要签名的,但是加固工具当你把apk传给它进行加固时,如果有签名的会把签名给去掉然后进行加固,最后得到的加固包就是所有步骤的一个基础。ps:反正我把签名的包和不签名的包两种都去加固了,最后都是可行的,还有一点重要的是:如果用pc版 的加固助手时,请把自动签名的勾去掉

    步骤2:zipalign,apksigner加入path中

    因为上面的两个命令在C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\25.0.2(需要25以上版本)中,所以为了调用方便,请加入系统环境中

    步骤3:优化 ,zipalign -v 4 【加固包路径】【优化包想要放的路径】

    举例:zipalign -v 4 C:\Users\robin\Desktop\xxx.apk C:\Users\robin\Desktop\xxx_zipalign.apk

    步骤4:重新v2签名,apksigner sign --ks [你的签名文件] [优化过的apk路径]  

    apksigner sign --ks D:\xxx.keystore C:\Users\robin\Desktop\xxx_zipalign.apk

    执行上面语句会提示密码:

    Keystore password for signer #1: xxxxx

    执行完之后xxx_zipalign.apk就是签名过的包,还是原来那一个

    步骤5:验证是否是v2签名,需要CheckAndroidV2Signature.jar,下载地址:https://github.com/bihe0832/AndroidGetAPKInfo/blob/master/

    java -jar 【CheckAndroidV2Signature的路径】【签名过的包路径】

    java -jar C:\Users\robin\Desktop\CheckAndroidV2Signature.jar C:\Users\robin\Desktop\xxx_zipalign.apk

    返回true就行

    {"ret":0,"msg":"ok","isV2":true,"isV2OK":true}

    步骤6:walle注入渠道:需要walle-cli-all.jar,下载地址:https://github.com/Meituan-Dianping/walle/blob/master/walle-cli/walle-cli-all.jar

    单个注入:

    java -jar walle-cli-all.jar put -c [单个注入的名称(例如qq,360..)] [apk路径]

    java -jar walle-cli-all.jar put -c qq xxx_zipalign.apk

    批量注入:

    java -jar walle-cli-all.jar put -c [channel是个渠道名称的列表文件] [apk路径]

    java -jar walle-cli-all.jar batch -f channel xxx_zipalign.apk

    所有的输出路径都跟原apk的路径一致

    参考资料:

    支持Android7.0 Signature V2 Scheme 多渠道打包,并解决类似360加固后获取不到渠道信息 - 渠道统计失败的问题

    相关文章

      网友评论

        本文标题:Android多渠道打包和加固那些事

        本文链接:https://www.haomeiwen.com/subject/wlmxqxtx.html