关于生成apk签名的一些技巧

来源:互联网 发布:简单游戏编程 编辑:程序博客网 时间:2024/05/01 11:21

生成keystore

创建keystore,需要用到keytool.exe (位于jdk_xx\jre\bin目录下),具体做法如下:

keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore demo.keystore#说明:#    -genkey 产生密钥#    -alias mykey 别名 mykey#    -keyalg RSA 使用RSA算法对签名加密#    -validity 40000 有效期限4000天#    -keystore demo.keystore

对apk进行签名

使用产生的keystore对apk签名,使用到的是jarsigner.exe ,该工具位于jdk_xx\bin目录下,命令如下:

jarsigner -verbose -keystore demo.keystore -signedjar test_signed.apk test.apk mykey#    test_signed.apk是签名之后的文件#    test.apk是需要签名的文件

另外需要注意的是,如果你的jdk版本在1.7以上,你在对apk签名时,需要加上这个参数:

-digestalg SHA1 -sigalg MD5withRSA

否则同样会出现:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的错误。

修改签名信息

1、修改keystore密码的命令(keytool为JDK带的命令行工具):keytool -keypasswd -keystore my.keystore -alias androiddebugkey

(其中,my.keystore是复制出来的证书文件,执行后会提示输入证书的当前密码,和新密码以及重复新密码确认。这一步需要将密码改为android。)

keytool -storepasswd -keystore my.keystore

2、修改keystore的alias

这一步中,my_name是证书中当前的alias,-destalias指定的是要修改为的alias,这里按规矩来,改为androiddebugkey!这个命令会先后提示输入keystore的密码和当前alias的密码。

keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey

3、修改alias的密码:

这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码,同样,按规矩来,改为android!

keytool -keypasswd -keystore my.keystore -alias androiddebugkey

查看签名信息

1、查看keystore的信息

keytool -list -keystore demo.keystore -alias mykey -v

2、查看keystore的公钥证书信息

keytool -list -keystore demo.keystore -alias mykey -rfc

(注:获取Base64格式的公钥证书,RFC 1421)

3、查看apk的签名信息

jarsigner -verify -verbose -certs <your_apk_path.apk>
0 0
原创粉丝点击