签名详解(一)

2016-12-14  本文已影响0人  whstywh

1. 引言

2. 应用程序签名步骤

3. 生成未经签名的apk文件

**4. 使用keytool工具生成数字证书 **

keytool -genkey -v -keystore sign.keystore -alias sign -keyalg RSA -validity 20000
/*      
1) keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来,显示在dos窗口中;     
2)-keystore sign.keystore 表示生成的数字证书的文件名为"sign.keystore";      
3)-alias sign表示证书的别名为"sign",可以和文件名一样;      
4)-keyalg RSA 表示生成密钥文件所采用的算法为RSA;      
5)-validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效在执行上面的命令生成数字证书文件时,会提示你输入一些信息,包括证书的密码。
*/
Paste_2
keytool -list -v -keystore sign.keystore//查看JKS中生成的证书的详细信息
Paste_3

**5. 使用jarsigner工具为Android应用程序签名 **

jarsigner -verbose -keystore sign.keystore -signedjar app-signed.apk app-unsigned sign

*/
1)jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;      
2)-keystore sign.keystore 表示签名所使用的数字证书所在位置,此处没有写路径,表示在当前目录下默认:C:\Users\Administrator;      
3)-signedjar app_signed.apk app.apk 表示给notepad.apk文件签名,签名后的文件名称为notepad_signed.apk;      
4)最后面的sign 表示证书的别名,对应于生成数字证书时-alias参数后面的名称
*/

6. 使用zipalign工具优化已签名的apk(非必须但建议这么做)

      zipalign -v 4 app-signed.apk app_signed_aligned.apk
/*      
1)zipalign是工具名称,-v表示在DOS窗口打印出详细的优化信息;      
2)app-signed.apk app_signed_aligned.apk 表示对已签名文件app-signed.apk进行优化,优化后的文件名为app_signed_aligned.apk
*/

感谢:博客园的阿拉丁

上一篇 下一篇

猜你喜欢

热点阅读