1. 签名是为了什么
简单来说,签名可以保证我们的应用可以正常升级,并且不被别人覆盖.
算是一个标识.
2.keytool 是个密钥和证书管理工具,可以用来生成证书.
此工具生成的证书只能用来自签名,不可用于正式发布的应用
keytool -genkey -keystore test.keystore -alias test.keystore -keyalg RSA -validity 10000
参数解释:
-genkey 产生证书文件
-keystore 指定密钥库的.keystore文件中
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数,这里我们写的是10000天
-alias 产生别名
3. 可以使用jarsigner 来签名,例子如下:
jarsigner -verbose -keystore test.keystore -signedjar signed.apk unsigned.apk 'test.keystore'
参数说明:
-verbose:指定生成详细输出
-keystore:指定数字证书存储路径
-signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)