本文的目的是,使用eclilpse的签名配置文件,然后利用signapk.jar对apk文件进行签名。
1、debug.keystore
debug.keystore是eclipse的默认配置文件,查看该配置文件路径操作如下:
2、将debug.keystore转为pk8+x509.pem
(1)执行以下命令
keytool -importkeystore -srckeystore debug.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12
输入口令处,都输入android
(2)执行openssl命令,如果没有openssl工具的话,需要先下载。文末给出参考文章中第一个有下载链接。
openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
(3)新建一个文件夹,文件夹中新建两个文件,cert.x509.pem和private.rsa.pem,接着以文本方式打开tmp.rsa.pem文件,复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到 cert.x509.pem,复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到private.rsa.pem(注意,这里复制文本的时候,begin与end这两句话本身也要复制)
(4)生成pk8格式的私钥
openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out private.pk8 -nocrypt
这里,
cert.x509.pem private.pk8就是我们最后签名需要的文件。
3、使用signapk.jar对apk签名
将signapk.jar,cert.x509.pem和private.pk8,还有待签名的apk放到同一目录下,执行以下命令即可。
java -jar signapk.jar cert.x509.pem private.pk8 unsigned.apk signed.apk
生成的signed.apk就是我们签名之后的apk。
参考链接: