zoukankan      html  css  js  c++  java
  • ,在 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 是密钥文件的别名。

      

      

    编程之美。
  • 相关阅读:
    经典卷积神经网络(LeNet、AlexNet、VGG、GoogleNet、ResNet)的实现(MXNet版本)
    Gluon 实现 dropout 丢弃法
    『MXNet』第六弹_Gluon性能提升 静态图 动态图 符号式编程 命令式编程
    Gluon炼丹(Kaggle 120种狗分类,迁移学习加双模型融合)
    固定权重 关于Mxnet的一些基础知识理解(1)
    『MXNet』第四弹_Gluon自定义层
    积神经网络(CNN)的参数优化方法
    推荐!PlayGround:可视化神经网络
    激活函数可视化
    Tuxedo低版本客户端(Tuxedo 9)连接到高版本Tuxedo服务端(Tuxedo 12.1.3)的问题
  • 原文地址:https://www.cnblogs.com/LuQingshang/p/3926009.html
Copyright © 2011-2022 走看看