赞
踩
由于现在开发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:想要生成的签名文件
bieming:生成的别名
10000:10000天,单位天
输入以上命令,如图,一步一步跟着输入,然后就生成签名了,
二、修改已有签名文件的别名、密码等
修改别名,命令:
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。