上午工作的时候,得到一个需求,自已经所做的项目为了增加扩展渠道,需要向线上手机厂商(搜狗、魅族)应用商店推广自已的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.keysto