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


    将本地的java从版本1.6 升级到 1.8 的时候,apk 签名后安装到手机上,出现 “Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]”,弄了半天不知道咋回事,然后把java的jdk版本切换到1.6的时候,一切又正常了,因此怀疑对apk的签名,会跟jdk的版本不同而有所不同。网上搜了一下,果然如此,而且在android的开发者社区已经有了相关说明。

    注:文章参考了 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 是密钥文件的别名。

      

      

    编程之美。
  • 相关阅读:
    MongoDB索引使用
    ubuntu14.04下CPU的caffe配置,不成功的朋友请与我(lee)联系,后面附带邮箱
    android4.4 evaluateJavascript 到android2.X上不能调用的问题
    LeetCode122:Best Time to Buy and Sell Stock II
    Hdu-1565 方格取数(1) (状态压缩dp入门题
    TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题
    显示和隐藏Mac隐藏文件的命令
    【微软2014实习生及秋令营技术类职位在线測试】题目1 : String reorder
    钟表效果
    hibernate5(10)注解映射[2]一对多单向关联
  • 原文地址:https://www.cnblogs.com/LuQingshang/p/3926009.html
Copyright © 2020-2023  润新知