经常用,记录,以便用的时候方便点
apk经过混淆后一般需要签名才能正式发布,签名可以使用eclipse自带的签名,export signed apk,也可以在命令行先进行签名,然后用此keystore文件对打包未签名(export unsigned apk)的apk进行签名然后发布。
这里介绍第二种:
第一步,生成keystore文件:使用命令keytool:
C:\Users\abc>keytool -genkey -alias payelec.keystore -keyalg RSA -validity 40000
-keystore demo.keystore
命令的相关参数可以通过keytool -help进行查看,也可以参考文章末尾链接
生成的keystore文件就是签名文件,包含了许多信息,密码要记住
第二部,对导出的未签名的apk进行签名,使用命令:
C:\Users\abc>jarsigner -verbose -keystore demo.keystore -signedjar demo_sign
ed.apk F:\apksecurity\demo.apk demo.keystore
说明,用demo.keystore签名文件对F:\apksecurity\demo.apk这个apk进行签名,生成的apk为demo_signed.apk,可以具体指定路径,使用的命令是jarsigner
其中最后的demo.keystore是别名,就是当时导出signed 的apk的别名,需要替换成对应的,如果错误则无法执行下去。
如果遇到问题类似于“找不到 xxx的证书链。 必须引用包含专用密钥和相应的公共密钥证书链的有效 密钥库密”,则大概是此问题,可以参考链接:
http://www.cnblogs.com/QuLory/p/3141039.html
对该命令的使用也可以通过-help来查看理解
这样就生成了签名apk,
如果想查看keystore内容,可以用如下命令:
keytool -list -keystore demo.keystore
使用命令是keytool
对于keytool命令的具体使用说明可以参考如下这篇文章:
http://blog.chinaunix.net/uid-17102734-id-2830223.html
对于签名打包这个过程的说明也可以参考如下的链接文章:
http://blog.csdn.net/beiminglei/article/details/8813057
http://jingyan.baidu.com/article/3a2f7c2e61395d26afd61193.html