一、android apk签名有几种方法?
1、利用jdk工具进行apk签名
2、利用Eclipse中的ADT对apk进行签名
二、每种签名方法具体怎么操作?
1、利用jdk工具进行签名:
a、运行dos,cd到apk所在的目录,简称apk_dir
b、生成签名文件
命令如下:
apk_dir>keytool -genkey -alias signapk.keystore -keyalg RSA -validity 20000 -keystore signapk.keystore
运行结果如下:
运行结果如下:
c、对apk文件进行签名
apk_dir>jarsigner -verbose -keystore signapk.keystore -signedjar new.apk Corner.apk signapk.keystore
运行结果如下:
d、验证签名
apk_dir>jarsigner -verify new.apk
jar 已验证。
jar 已验证。
备注:可能遇到的问题
1、在上面第二步如果提示:jarsigner 无法对jar进行签名:java.util.zip.ZipException:……
很可能的原因是:这是因为默认给apk做了debug 签名,所以无法做新的签名,这时就可以点工程右键->Android Tools ->Export Unsigned Application Package,导出一个没有做debug签名的apk。
2、如果在上面第三步如果提示:“警告:此 jar 包含证书链未验证的条目。”这可能是你的jdk版本是1.7的,同样方法在jdk1.6上可以,造成的原因应该是jdk1.7与1.6有些区别。
2、利用Eclipse中的ADT工具签名:
a、选中android项目,点鼠标右键
Android Tools --> Export Signed Application Packge...
b、Project Checks(这里基本不用动) --> Keystore selection 选择 create new keystore
在下面依次填写签名文件的名字(要以.store结尾),密码,重复密码 --> key creation
填写签名详细信息
c、给签名后的apk文件输入一个名字,点Finsh完成!
Android Tools --> Export Signed Application Packge...
b、Project Checks(这里基本不用动) --> Keystore selection 选择 create new keystore
在下面依次填写签名文件的名字(要以.store结尾),密码,重复密码 --> key creation
填写签名详细信息
c、给签名后的apk文件输入一个名字,点Finsh完成!
如下图:
备注:签名过程常碰到的一个问题及解决办法
问题:提示先处理完警告以及“You should check if you need to specify additional program jars”,签名失败,如下图:
问题:提示先处理完警告以及“You should check if you need to specify additional program jars”,签名失败,如下图:
原因是工程中引入了第三方jar包。
解决办法:需要在proguard.cfg文件第一行加上-dontwarn即可解决,如下:
来源:oschina
链接:https://my.oschina.net/u/614972/blog/142436