一、问题
我们app需要使用的的签名文件,但是之前的apk都是老签名文件,如果是采用v1和v2方式打包,我们知道升级覆盖安装会提示签名匹配安装失败。
二、v1、v2、v3签名原理
Android 目前支持以下四种应用签名方案:
-
v1 方案:基于 JAR 签名。
-
v2 方案:APK 签名方案 v2(在 Android 7.0 中引入)
-
v3 方案:APK 签名方案 v3(在 Android 9 中引入)
-
v4 方案:APK 签名方案 v4(在 Android 11 中引入)
1、v1签名
就是jar签名,apk最初的签名方式,大家都很熟悉了,签名完之后是META-INF 目录下的三个文件:MANIFEST.MF、CERT.SF、CERT.RSA。
MANIFEST.MF
MANIFEST.MF中是apk种每个文件名称和摘要SHA1(或者 SHA256),如果是目录则只有名称
CERT.SF
CERT.SF则是对MANIFEST.MF的摘要,包括三个部分:
-
SHA1-Digest-Manifest-Main-Attributes:对 MANIFEST.MF 头部的块做 SHA1(或者SHA256)后再用 Base64 编码文章来源:https://www.toymoban.com/news/detail-413688.html
-
SHA1-Digest-Manifest:对整个 MANIFES文章来源地址https://www.toymoban.com/news/detail-413688.html
到了这里,关于Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!