什么是V1和V2签名
V1签名(jar signature):
V1是Android7.0之前的签名方式,使用JDK中的jar signature方式对APK进行签名打包。签名完成后会生成一个META-INF文件夹,里面有三个文件:MANIFEST.MF,CERT.RSA,CERT.SF,是用来记录签名信息的。简单来说V1 签名是对压缩包中单个文件签名验证。
V2签名(Full apk signature)
V2是Android7.0推出的签名方式,使用Full Apk Signature方式对APK进行签名打包。V2是对zip压缩包的整个文件验证, 签名后不能修改压缩包。
V2签名的优点
V2是验证压缩文件的所有字节码,因此,在签名完成后无法再更改,签名更安全;
V2签名由于不需要解压缩然后验证,因此可以缩短在设备上进行验证的时间,使安装速度加快。
既然V2是Android7.0才推出的,那么在Android7.0以下的系统上安装V2签名会有什么问题呢?答案是:Android7.0以下的系统上没有这种签名的验证方式,因此系统会提示应用未安装。那要怎么解决在Android7.0以下系统上的签名问题呢,那就是同时对apk进行V1和V2签名
签名步骤
1、生成自己的签名文件,比如我自己的my.jks
keytool -genkey -v -keystore my.keystore -alias mykey -storepass 123456 -keypass 123456 -keyalg RSA -validity 36000
2、我们采用apksigner来对apk进行签名,apksigner是Android SDK自带的一个签名工具,默认是同时使用V1和V2签名
输入如下命令对apk进行签名:
apksigner sign --ks my.jks --ks-key-alias 密钥别名 xxx.apk
此时,签名之后的apk就同时具有V1和V2签名了。
验证方法
同样使用apksigner进行签名验证,输入命令:
apksigner verify -v --print-certs xxx.apk文章来源:https://www.toymoban.com/news/detail-435497.html
文章来源地址https://www.toymoban.com/news/detail-435497.html
到了这里,关于Android 签名方法---同时使用V1和V2签名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!