packer-ng-plugin 360渠道打包的心酸路以及签名V1、V2区别

      昨天APP终于要上线!!!项目批量打包使用的是 packer-ng-plugin 2.0.1,其他应用渠道打包完成之后专攻360APK。众所周知,360应用市场上传必须加固,加固完成后的APK需要重新签名、添加渠道信息,可参考:#86#64,方可上传应用市场。在签名和添加渠道信息的过程中遇到一些坑,分享出来。

      使用gradle clean assembleRelease打出APK放在360加固工具加固后,下载放在本地。packer-ng-plugin 2.0.1已经支持V2签名,所以接下来APK签名是V2了, 可以参考Android开发之通过apksigner对apk进行v2签名,里面很详细介绍了如何使用Android/SDK/../build-tools工具进行签名的。这里只是把一些命令行记录下来,分以下几个步骤:

        1、zipAlign:首先进入到build-tools目录下,输入命令行:
                ./zipalign -v -p 4 input.apk out.apk  (Mac)
                ./zipalign.exe -v -p 4 input.apk out.apk (Window)

        2、apksigner:该目录在build-tools/lib,注意,v2签名是在7.0后才推出的,所以请在sdk>25才能找到apksigner.jar。首先进入build-tools/lib下,输入命令行

                java -jar apksigner.jar sign //执行签名操作 
                --ks 你的jks路径 //jks签名证书路径
                --ks-key-alias 你的alias //生成jks时指定的alias
                --ks-pass pass:你的密码 //KeyStore密码
                --key-pass pass:你的密码 //签署者的密码,即生成jks时指定alias对应的密码
                -- out output.apk //输出路径
                input.apk //被签名的apk
        示例:
    java -jar apksigner.jar sign --ks xxx.jks --ks-key-alias 自己指定的alias --ks-pass pass:密码 --key-pass pass:密码 --out output.apk input.apk

        查看apk签名状态:java -jar apksigner.jar verify -v my.apk

      至此V2签名已被搞定,接下来就是使用packer-ng-plugin添加渠道信息了。GitHub详细地介绍了如何使用命令行脚本打包渠道信息,只想说一句,开发者需要下载packer-ng-2.0.1.jar工具,为了方便以后打包,请放置在项目根目录下,然后在AS输入命令行:java -jar pack-ng-2.0.1.jar genrate --channels=@XX.txt --output=apk存放目录 被签名的apk 。大功告成!

        附录:V1、V2签名的区别:

        v1签名只对未压缩对文件内容进行验证,所以APK在签名之后依然可以修改--文件可以移动,甚至可以重写压缩。

        v2签名验证了归档中对所有字节,而不是单独的ZIP条目。增强签名格式的安全性和可拓展性,并且在性能方面也有提升--不需要进行昂贵的解压,从而加快应用安装时间。

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值