android 命令创建签名文件keystore、修改已有keystore的别名密码、密钥库密码,重新签名APK

由于现在开发android JDK基本都是用的1.7及以上,所以低版本的JDK的就不记录了。

首先找到一个文件夹,以下操作都在同一个文件夹内,这样是为了更加方便,当然也可以不这么做,那么后面的命令行中对应文件就要指出路径了,

当然在AndroidStudio中的终端操作也是可以的。

用命令进入这个文件夹,这个命令我就不写出来了

一、创建签名文件

命令:

keytool -genkey -keystore android.keystore  -alias bieming -keyalg RSA -validity 10000

在mac上有时会报错,这个错感觉很奇怪,可以改成如下:

keytool -genkey -keystore android.keystore   -keyalg RSA -validity 10000

 

keytool这个工具是JDK里面自带的,路径如图所示:

android 命令创建签名文件keystore、修改已有keystore的别名密码、密钥库密码,重新签名APK_第1张图片

 

命令中凡是单词前带横杠“-”就是参数名称是固定的不需要改变,后面紧接的才是我们需要填入的参数。

 

android.keystore:想要生成的签名文件

bieming:生成的别名

10000:10000天,单位天

android 命令创建签名文件keystore、修改已有keystore的别名密码、密钥库密码,重新签名APK_第2张图片

 

输入以上命令,如图,一步一步跟着输入,然后就生成签名了,

android 命令创建签名文件keystore、修改已有keystore的别名密码、密钥库密码,重新签名APK_第3张图片

二、修改已有签名文件的别名、密码等

修改别名,命令:


keytool -changealias -keystore android.keystore -alias bieming -destalias biemingnew

 

android.keystore:签名文件名称

bieming:现在的别名

biemingnew:修改后的别名

 

修改别名密码,命令:

keytool -keypasswd -keystore android.keystore -alias biemingnew

 

android.keystore:签名文件名称

biemingnew:别名

 

修改密钥库密码,命令:

keytool -storepasswd -keystore android.keystore  -alias biemingnew

android.keystore:签名文件名称

biemingnew:别名

 

以下是一些命令集合

命令:

-certreq            生成证书请求

-changealias        更改条目的别名

-delete             删除条目

-exportcert         导出证书

-genkeypair         生成密钥对

-genseckey          生成密钥

-gencert            根据证书请求生成证书

-importcert         导入证书或证书链

-importpass         导入口令

-importkeystore     从其他密钥库导入一个或所有条目

-keypasswd          更改条目的密钥口令

-list               列出密钥库中的条目

-printcert          打印证书内容

-printcertreq       打印证书请求的内容

-printcrl           打印 CRL 文件的内容

-storepasswd        更改密钥库的存储口令

 

三、重新签名APK

有时因为各种原因需要对APK签名,

命令:

jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore android.keystore -storepass 123456 -signedjar android_signed.apk android.apk bieming

jarsigner -keystore android.keystore -storepass 123456 -signedjar android_signed.apk android.apk bieming

 

SHA1:keystore的指纹

MD5withRSA:keystore的指纹

android.keystore:keystore名称

123456:keystore密码

android_signed.apk:签名后APK的名称

android.apk 签名前的APK的名称

bieming:别名

上面2种命令我测试过都可以,可能会报异常,但是不妨碍APK的运行

这里需要注意下,输入bieming的密钥口令:表示别名的密码,输入密钥库口令:表示keystore的密码,

以上的都是V1版本签名,现在gradle2.2以上谷歌推的V1+V2签名,可能需要新的策略了

好了,又可以愉快的玩耍了

 

查看keystore相关信息(别名、年限、指纹等)点击链接

http://blog.csdn.net/msn465780/article/details/50315143

点击打开链接

你可能感兴趣的:(Android,签名,打包)