Android apk签名整理

本文详细介绍了Android APK的签名过程,包括使用keytool创建证书,jarsigner工具执行签名,以及zipalign工具进行对齐优化的步骤。通过这些步骤,确保APK的安全性和性能优化。

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

Android apk 签名分三步:

1.创建证书
2.执行签名
3.对齐优化

1. 创建证书:
使用keytool工具(位于JDK的bin目录下)生成证书,创建命令举例:
keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 20000 -keystore CERT.keystore

参数解释:
-genkey—— 为生成证书
-v——为输出执行过程中的相关信息
-alias CERT——CERT为证书的别名
-keyalg RSA——加密使用算法为RSA
-keysize 2048——默认2048 bits,Android官方建议2048或是更高

查看刚生成或是已有的证书信息:
keytool -list -v -keystore keystoreName -storepass keystorePassword
参数-storepass keystorePassword——keystore的密码

若想要其他参数可以通过keytool -help查看帮助

2. 执行签名
使用jarsigner工具(位于JDK的bin目录下)对apk进行签名,命令如下:
jarsigner -verbose -keystore CERT.keystore unsigned.apk CERT

参数解释:
-verbose——输出相关信息
-keystore CERT.keystore——CERT.keystore为签名证书
CERT——签名证书别名

上述签名命令会将签好名的apk覆盖没有签名的apk,若不想覆盖可以将命令改为:
jarsigner -verbose -keystore CERT.keystore -signedjar unsigned.apk signed.apk CERT

签名后验证是否签名:
jarsigner -certs -verbose -verify unsigned.apk
参数-certs -verbose是为了方便查看更详细的验证信息

检查apk文件中的签名信息:
将apk后缀改成.zip, 解压,查看目录META-INF中的RSA文件,用keytool即可查看签名信息:
keytool -printcert -file ~/test/CERT.RSA

3. 对齐优化
使用Android SDK的zipalign工具(位于Android sdk中的build-tools下)对已签名apk进行对齐优化,命令举例:
zipalign -v 4 unaligned.apk aligned.apk

必须注意的一点是对齐必须在签名之后,因为签名会使对齐失效
验证apk是否已经对齐:
zipalign -c -v 4 aligned.apk

参考:
http://developer.android.com/intl/zh-cn/tools/publishing/app-signing.html
http://developer.android.com/intl/zh-cn/tools/help/zipalign.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值