给空签名包进行签名以及找不到keystore证书链问题的解决方案

上午工作的时候,得到一个需求,自已经所做的项目为了增加扩展渠道,需要向线上手机厂商(搜狗、魅族)应用商店推广自已的APP,但APP上传之前,需要走一下各个厂商自已的验证流程。而验证流程有一个特殊的环节,就是厂商会给你一个空的签名包,让你用自已项目的共公密钥(keystore)对空包进行签名。这个环节并不算难,可是在打包过程中出现了一系统列的小问题,大概是以前经常用eclipse工具直接打包的结果。

具体的打包方法有很多,在这里主要讲两种:

一、使用命令行进行签名。
android有自带签名的DOS命令 : jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]
此命令各参数含义如下:
jarsigner -verbose -keystore zdd.keystore -signedjar 123x.apk
456.apk asia

jarsigner -verbose:签名命令标识符。
-keystore:后面跟着的是你签名使用的密钥文件(keystore)的绝对路径。
-signedjar:此后有三个参数:
参数一:签名后生成的apk文件所要存放的路径。
参数二:未签名的apk文件的存放路径。
参数三:你的证书名称,通俗点说就是你keystore文件的别名,那这个别名怎么查看?其实就是在你eclipse进行签名打包时的Alias的值。

这里写图片描述

如果这个值填写不正确就会出现:
jarsigner: 找不到zdd.keystore的证书链。zdd.keystore必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。小伙伴以后再遇到这样的问题,就应该知道去那找问题了吧!

签名按照以上命令格式,按回车键输入密钥库的密码短语(如果密码是数字是不会显示的)再按回车键就会在你所给的路径生成一个签名apk。
生成签名包图片如下:

这里写图片描述

二、使用第三方工具进行签名

这种试就比较简单了,一般网上有第三方的签名工具,直接下载,根据说明进行操作即可,在这里给小伙伴们提供一个三方工具的下载链接:http://yunpan.cn/lk/Q7wWewv7nYm3n

签名工具的具体操作步骤如下 :

1、双击运行360Signer.exe文件,出现如下界面:

这里写图片描述

2、点击“请选择”,找到您的APK包所在路径并双击文件进行选择。
3、点击“请选择Keystore路径下的‘请选择’”,选择签名文件(.keystore或.jks)存放的路径并输入密码。
4、输入路径和密码后,会自动填充别名,接着再输入一次密码。
5、输入签名后文件的保存路径和文件名(默认为待签名文件的路径,文件名为原文件名加上signed_Aligned)。注:签名后的文件已自动进行了Zipalign对齐,可直接上传google play市场。
6、点击 ”一键签名“,请稍等5秒钟,弹出”签名成功“的状态栏,签名成功。
7、在签名后路径下找到已被签名的文件,即可在平台上传发布啦。
8、支持批量签名:可一次性选择多个需要签名的文件,一次性完成多个加固文件的签名工作。完成截图如下:

这里写图片描述

以后打包签名,两种方法任选其一,对你来说:so easy!

你可能感兴趣的:(android开发)