安卓APK打包签名

上篇文章讲了打包签名问题,这边我来解释下。

key storepath:keystore文件路径

key store password :开启keystore文件的密码

key alias:key的别名

key password:key的密码

我们这里点击红色区域设置新的keystore如图:

validity(years):这个keystore的有效期

从certifiacte(证书)开始依次为:

作者名

组织单位:我一般写公司

组织:我一般写部门

所在城市

所在省

所在的国家编码缩写

/*获取秘钥的签名*/

打开cmd:先进入你存放钥匙的文件夹。然后输入keytool -list -v -keystore Utown.jks(钥匙名字)

输入我们之前设置的密码就可以得到信息了:

/*获取debug.keystore的签名*/

keytool -v -list -keystore debug.keystore

输入密码:android

/*直接通过APK获取秘钥的签名*/

cmd中执行keytool -printcert -jarfile xxx.apk

通过Android Studio获取密钥

 

 

打包提示Please select at least one of the signature versions to use

解决方式

需要勾选 下方 的 Signature Versions: V1(Jar Signature)和V2(Full APK Signature),再试一次即可成功。

V2(Full APK Signature)时Android7.0引入一项新的应用签名方案,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。

如果只勾选V2(Full APK Signature)的话,只能在7.0以上支持。以下则不支持在手机上安装。通用打包签名方式是V1(Jar Signature)和V2(Full APK Signature)都需要勾选。

所以Signature Versions不能只选择 V2(Full APK Signature),应该选择V1(Jar Signature),或者选择 V1和 V2。

V1和 V2之间的关系:


V1(Jar Signature):是通过ZIP条目进行验证,这样可以APK签署后可进行许多修改,可以移动甚至重新压缩文件。

V2(Full APK Signature):验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括zipalign)。正因如此,现在,在编译过程中,我们将压缩、调整和签署合并成一步完成。


只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式;

只勾选v2签名7.0以下会直接安装完显示未安装,7.0以上则使用了v2的方式验证;

同时勾选v1和v2则所有机型都没问题。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值