<font color="#008000">注意看,除了上面介绍的部分,多了一个重新签名的步骤。</font>
因为当加固之后的 Apk 没有签名,需要我们重新签名。自动签名的工具有很多,包括梆梆加固都有提供再签名的工具,使用这些签名之后PackerNg 脚本打包后会出现 Error: Invalid Signature
错误。原因是现在提供的工具大多只支持了 V1 签名,而项目集成的 PackerNg 最新版本需要 V2 签名,所以我们要给 Apk 重新签 V2 签名。
命令如下:
zipalign -v 4 <apk_path> <after_apk_path>//对齐
apksigner sign --ks <keystore_path> <after_apk_path> //重新签名
//以下命令可用来验证对齐和再签名的结果
zipalign -c -v 4 <apk_path>//验证是否对齐
apksigner verify --verbose <after_apk_path> //查看签名信息,用来验证是否是 V2 签名
其中
apksigner 是Android SDK 自24.0.3开始提供的官方签名工具,位于:Android SDK/build-tools/对应版本/apksigner。
zipalign 是 Android SDK 提供代码对齐工具, 位于 Android SDK/build-tools/对应版本/zipalign。
如果已经配置好 sdk/build-tools/的 Path,直接在 Terminal 中,任何路径下就能使用,如果没有可以选择是配置一下路径或者切换到 sdk/build-tools/ 对应版本/ 中操作。
最后
真的很感叹,我也终于自己完整的走通了一个项目到发布市场的一整套流程,现在做完之后,看起来一切都很简单,步骤也不是很多,但是对于上周的我来说,因为对混淆和加固的知之甚少,真的胆战心惊的去做这件事情,混淆之后安装测试,签名之后安装测试等等,因为约了百度的首发,上线时间有限制,真的害怕搞出来自己短时间内无法解决的问题。
我仔细想想,当时的紧张,都是对未知的恐惧。例如,签名遇到问题了,才知道 Android 7.0 新出了 V2 签名机制等,因为没用过,也测了又测,直到放心。
在这个知识的海洋里,我知道的真是太少了,努力加油吧,为了以能够自信多一点点。
刚刚开通了个人微信公众号,最新的博客,好玩的事情,都会在上面分享,欢迎关注 ^ o ^ 。
![](https://img.haomeiwen.com/i4373698/cafaef214e0d9e46.png)
网友评论