一、 背景
开发platform签名的app过程中,用eclipse生成apk后,1)把apk放到服务器,2)调用signapk xxx.apk来签名,3) 拉签名apk到本地安装,过程太复杂。想通过eclipse导入签名后,实现点运行、签名、安装一步搞定。由于eclipse只识别keystore的格式,所以需要将platform.pk8和platform.x509.pem转成keystore格式;
二、 制作源文件
源文件:newbee/build/security/platform.pk8 和platform.x509.pem
密码:xxxxx
三、 具体步骤
(1) 把pkcs8格式的私钥转换为priv.pem格式,生成platform10.priv.pem(以下命令在linux下进行)
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform10.priv.pem
输入密码platform.pk8的密码:xxxxx,如果没有密码的话,则加上 -nocrypt
(2) 生成pkcs12格式的密钥文件
openssl pkcs12 -export -in platform.x509.pem -inkey platform10.priv.pem -out platform10.pk12 -name androiddebugkey
(注:此过程中需要输入密码,用于第三步 srcstorepass使用,下面命令中也使用xxxxx,其实可自己定一个)
(3) 生成keystore:
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore platform10.pk12 -srcstoretype PKCS12 -srcstorepass xxxxx -alias androiddebugkey
四、 注意事项
生成的debug.keystore在名称、密码上必须遵循一定的规则,eclipse才能识别(参看上面命令中的红字):
keyname:androiddebugkey
keypass: android
storepass: android
五、 导入keystore
在eclipse中,打开菜单 Window->Preferences->Android->Build->Custom debug keystore,选择制作的debug.keystore;
获取签名的公钥信息:
从APK中解出Meta-INF/cert.rsa,然后执行下述命令。