手动给Android应用程序签名

签名步骤

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包 数字证书别名(注意顺序)