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
证书文件名