Android:apk签名

本文介绍两种Android APK签名方法:使用JDK工具和Eclipse ADT工具。详细步骤包括生成签名文件、签名APK及验证签名。同时提供了解决常见问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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
运行结果如下:
Android:apk签名 - 天外来客 - 天外来客的博客
 
c、对apk文件进行签名
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
keystorePath参数代表keyStore的绝对路径,如D:\keystore
apkOut参数代表签名后的apk路径,如D:\signed.apk
apkin参数未签名apk,默认名称为tap_unsign.apk
alias参数代表签名用的keystore文件的别名(创建keyStore时所填写),如timdong









例如  jarsigner -verbose -keystore d:\keystore -signedjar d:\signed.apk d:\





alias如截图:
Android:apk签名 - 好灵敏 - 好灵敏的空间
 
apk_dir>jarsigner -verbose -keystore signapk.keystore -signedjar new.apk Corner.apk signapk.keystore
运行结果如下:
Android:apk签名 - 天外来客 - 天外来客的博客

d、验证签名
apk_dir>jarsigner -verify new.apk
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:apk签名 - 天外来客 - 天外来客的博客
 
Android:apk签名 - 天外来客 - 天外来客的博客
 
Android:apk签名 - 天外来客 - 天外来客的博客
 
Android:apk签名 - 天外来客 - 天外来客的博客
 

备注:签名过程常碰到的一个问题及解决办法
问题:提示先处理完警告以及“You should check if you need to specify additional program jars”,签名失败,如下图:
原因是工程中引入了第三方jar包。
Android:apk签名 - 天外来客 - 天外来客的博客

解决办法:需要在proguard.cfg文件第一行加上-dontwarn即可解决,如下:
Android:apk签名 - 天外来客 - 天外来客的博客
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值