以pk8和x509.pem格式的系统签名文件为例
方案一(已验证):
如果要在Android studio中调试应用源码中非应用普通签名的程序(也就是使用platform,media or shared key签名的程序),需要把Android源码中的公私钥对(文件路径 build/target/product/security)转换为Android studio能够使用的keystore
首先在虚拟机安装uabntu,不作详细介绍了,自行百度即可,方案一命令是在ubantu环境中使用的。
具体转换步骤如下:
0.把build/target/product/security下面的某对需要转换的key拷贝到一个你的工作目录
(下面以shared key为例:platform.pk8 & platformed.x509.pem)
1把pkcs8格式的私钥转换为pkcs12格式:
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
2生成pkcs12格式的密钥文件:
openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name androiddebugkey
(注:此过程中需要输入密码:android)密码不可更改
3生成keystore:
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
至此,已经生成keystore: debug.keystore 在Eclipse的Windows/Preferences/Android/Build中设置"Custom debug keystore"为刚才生成的keystore即可 对于其它类型的key,步骤相同。
方案二:未验证 一 在github上下载工具
https://github.com/getfatday/keytool-importkeypair 二 将工具在Linux环境下解压或者解压后Copy到Linux下,运行如下命令 keytool-importkeypair -k ~/android/debug.keystore -p android -pk8 ~/android/platform.pk8 -cert ~/android/platform.x509.pem -alias anyname
其中 -k:表示要生成的Eclipse下的签名的keystore的名字,包括路径名,这里存到主目录的android目录下,名字为debug.keystore。你可以随便取名 -p 表示新生成的keystore的密码是什么,这里为android -pk8 表示要导入的pk8文件的名称,可以包括路径,这里是主目录的Android目录下,我们的pk8文件和pem文件都在这个目录下 -cert 表示要导入的证书文件,和pk8文件在同一个目录 -alias 表示给生成的debug.keystore取一个别名,这个名字只有我们在签名的时候才用的到,生成在文件名是debug.keystore。这个名字,随便取