需求1、需要对比原生apk的现象或功能
签名不一致无法安装
java -jar signapk.jar
C:\Users\AXxx\platform.x509.pem C:\Users\AXxx\platform.pk8
C:\Users\app-debug.apk C:\Users\app-debug_signed.apk
用新签名的apk,既可以安装到AXxx项目的手机上了
platform.x509.pem和platfrom.pk8自行到系统源码中取
前提是需要下载signapk.jar、
方法 2】keytool-importkeypair-master.zip
https://github.com/getfatday/keytool-importkeypair
Ubuntu下
准备环境:
keytool-importkeypair
platform.pk8
platform.x509.pem
输入命令:
./keytool-importkeypair -k os_platform.jks -p password -pk8 platform.pk8 -cert platform.x509.pem -alias os_o
# os_platform.jks : 签名文件
# password : 签名文件密码
# platform.pk8、platform.x509.pem : 系统签名文件
# os_o : 签名文件别名
输出:
os_platform.jks
应用想要获取系统权限的话就必须要有系统签名,但是在开发一个系统的时候,为了系统的安全性,往往会去改变系统的签名。我们都知道通过platform.pk8
platform.x509.pem和signapk.jar可以对应用进行签名操作,但是这样很麻烦,而且也没办法使用Eclipse中的调试操作了,最简单的方式还是生成keystore然后放在Eclipse里,这样每次编译生成的APK就会自动签上名,方便许多。
下面来简单讲讲如何生成对应系统的系统签名:
1.android 源码目录build\target\product\security 取platform.pk8 platform.x509.pem放到一个目录下
2 openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt //生成shared.priv.pem
3 openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey //生成pkcs12
Enter Export Password: (输入密码android,默认是android,如是自己制作的key,输入对应的密码)
Verifying - Enter Export Password:(输入密码android)
4 生成debug.keystore
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
5.eclipse的Windows/Preferences/Android/Build中设置"Custom debug keystore"为刚才生成的keystore即可 直接使用apk,run调试即可,就不用再去用signapk.jar,如java -jar signapk.jar platform.x509.pem platform.pk8 *.apk **.apk
up from http://www.cnblogs.com/blairsProgrammer/p/4220904.html