android apk 签名

1.有用链接
2.签名的作用
(1) Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序
(2)
 
3.步骤
 
方法1:使用keytool和jarsigner签名(这两个文件都在jre包里面)
 
(1) 利用keytool 生成keystore
keytool -genkeypair -keystore keystorename -storepass keystorepassword -keyalg RSA -validity $((25 * 365)) -alias keyalias -keysize 2048 -dname "CN=J Random Hacker, O=HackerCo, L=Anytown, ST=Anystate, C=US"

  

 
(2)利用jarsigner 根据keystore对apk进行打包
  1. 对未签名的apk签名:jarsigner -verbose -keystore keystorename apkfilename keyalias
  2. 对已经签名的apk签名:jarsigner -verbose -keystore keystorename -signedjar signedapkfilename apkfilename keyalias
(3)检查apk是否已经签名:
jarsigner -verify -verbose -certs apkfilename
 
方法2:使用SignApk进行签名
 
 
(1)利用openssl生成签名文件
openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

  

 
(2)利用SignApk对apk签名
java -jar SignApk.jar certificate.pem key.pk8 Application.apk Application_signed.apk

  

 
 
posted @ 2015-12-27 13:30  weishenhong  阅读(279)  评论(0编辑  收藏  举报