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进行打包
- 对未签名的apk签名:jarsigner -verbose -keystore keystorename apkfilename keyalias
- 对已经签名的apk签名:jarsigner -verbose -keystore keystorename -signedjar signedapkfilename apkfilename keyalias
(3)检查apk是否已经签名:
jarsigner -verify -verbose -certs apkfilename
方法2:使用SignApk进行签名
signapk下载:
android原生的各种签名的key文件:
(1)利用openssl生成签名文件
openssl genrsa -out key.pem 1024openssl req -new -key key.pem -out request.pemopenssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pemopenssl 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