android v3签名格式,每日一问 Android 签名机制 v1 v2 v3 , 卧槽都 v3 了?

卧槽,这两天在搞多渠道打包,想这几天忙完学习一下签名,这都出题了!

参考美团的文章

https://tech.meituan.com/2017/01/13/android-apk-v2-signature-scheme.html

目前总结如下:

v1

以前大部分通过python打多渠道包原理,都是解压apk,在META-INF目录下添加空文件,文件名就是渠道名,而这种方式只能在v1签名的情况下使用,v1签名不校验META-INF,而v2签名将META-INF列入保护区,这种方式打出来的渠道包是过不了安装时候的签名验证的。

v2

v2签名,首先整个APK(ZIP文件格式)会被分为以下四个区块

Contents of ZIP entries(from offset 0 until the start of APK Signing Block)

APK Signing Block

ZIP Central Directory

ZIP End of Central Directory

应用的签名信息会被保存在区块2(APK Signing Block)中,其它3个区块是受保护的,所以可以在区块2做文章:

区块2中APK Signing Block是由这几部分组成:

2个用来标示这个区块长度的8字节

这个区块的魔数(APK Sig Block 42)

这个区块所承载的数据(ID-value 组)

V2的签名信息是以ID-value格式保存在APK Signing Block这个区块的ID-value 组中,所以美团开源的“瓦力”,原理就是将渠道信息以id-value的格式,写到区块2(APK Signing Block)的 ID-value 组中

最终我选择美团的“瓦力”,搞定多渠道打包,就等发布apk了~

美团瓦力

https://github.com/Meituan-Dianping/walle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值