1. 给apk签名
1.1. 证书
生成证书
keytool -genkey -alias android -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore test.keystore -storepass 123456 -dname "CN=Debugger, OU=X5, O=X5, L=BJ, ST=BJ, C=CN"
参数解释:
- -genkey 产生证书文件
 - -keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
 - -alias 产生别名
 - -keypass 123456 证书密钥,这里用123445,此处指定的值需要和 build.properties 文件中的 androidKeyAliasPassword 对应
 - -storepass 123456 证书存储密钥,这里用123445,此处指定的值需要和 build.properties 文件中的 androidKeyStorePassword 对应
 - -validity 3650 证书有效期,单位是天
 - CN=Debugger 名字与姓氏
 - OU=X5 组织单位名称
 - O=X5 组织名称
 - L=BJ 城市或区域名称
 - ST=BJ 省/市/自治区名称
 - C=CN 双字母国家/地区代码
 
查看信息
keytool -list -keystore test.keystore
签名
jarsigner -verbose -keystore test.keystore -signedjar -signed.apk unsigned.apk 'test.keystore'
参数说明:
- -verbose:指定生成详细输出
 - -keystore:指定数字证书存储路径
 - -signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)
 
1.2. build.gradle
storePassword证书存储密钥keyPassword证书密钥keyAlias证书别名storeFile证书文件名