在 java 1.8.0 版本的环境下,进行 android apk 的签名操作

注:文章参考了 android 开发者社区的签名指引说明文章,但由于在国内 android 开发者社区已经无法正常访问,因此在这里做下记录。

地址:http://developer.android.com/tools/publishing/app-signing.html#considerations

  在开发 android 应用程序的时候,到最后程序都需要进行签名后才可以发布,目前针对 android 应用开发的 ide 一般都会自带了签名的功能,例如 android studio、eclipse、intellij idea。如果您喜欢使用 ide 自带的功能签名,您就不需要再继续往下看了。以下主要是进行 android apk 手动签名的教程,虽然本人并不是很喜欢这种方式,但是公司的两位前辈都比较倾向于使用 bash 脚本,像这种打版本的事情就一般都是走脚本,一句命令,版本打好,发布关机走人。因此以下所用到的命令都是在 cygwin 的环境下执行的,因此前面带有 $ 这个符号。 【ps :我不喜欢主要是不大懂 linux 的语法,哎,要记得东西太多了。】

  到目前为止,网上关于 android apk 签名的教程一般都停留在 java 1.6 版本或者之前,然而 java 现在已经更新到了 1.8 了,java 1.7 版本我并没有安装,就直接从 java 1.6 升级为 java 1.8 了,java 1.6 与 java 1.8 之间生成密钥和签名的命令格式有点不一样,1.6 版本的不在这文章的介绍范围内,网上一搜,基本全都是。

  1. 生成密钥 (ps:“密钥” 和 “秘钥” 有什么区别?)

  输入命令:$ keytool -genkeypair -v -keystore test.keystore -alias test -keyalg RSA -validity 20000

  参数说明:

  1. genkeypari:生成密钥对。

  2. keystore:密钥库名称,如上所示"test.keystore"。

  3. alias:密钥的别名,在签名的时候需要用到。

  4. keyalg:密钥算法名称。

  5. validity:有效天数。

  运行效果图:

  

 

  

  2. 验证您所生成的密钥文件。

  输入命令:$ keytool -list -v -keystore test.keystore

  运行效果图:

  

 

  3. 执行签名,由于我在写文章的时候没有现成的 apk,因此只在这里添加执行的命令。

  输入命令:$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore xxx.apk test

  参数说明:

  1. 在jdk 1.8 的环境下,sigalg 和 digestalg 这两个参数必须带上,否则签名出来的 apk 包是无法安装的。

  2. -keystore:后面是您所生成的密钥文件。

  3. xxx.apk 是你要签名的 apk。

  4. test 是密钥文件的别名。

 

屁股都坐疼了,准备看电视剧去,最近优酷在播《大汉贤后卫子夫》,挺和我口味的,今晚看完三集估计也要1点半了吧。

 

 

 

 

  

  

在 java 1.8.0 版本的环境下,进行 android apk 的签名操作,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。