linux 签名apk,Linux 下apk文件实现签名

本文详细介绍了Android APK签名的重要性及步骤,包括证书创建、APK签名和zipalign优化。通过keytool和jarsigner工具进行签名操作,并强调了签名在应用更新和版本一致性中的关键作用。同时,提到了验证签名的方法以及签名后进行优化的zipalign工具的使用。
摘要由CSDN通过智能技术生成

签名的意义   为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。

apk文件签名主要分为三个步骤,证书的创建-->签名生成-->优化(可选)

前提是已经安装jdk并且已经添加到环境变量中。

证书的创建

keytool -genkey -v alias KeyName -keyalg RSA -keysize 2048 -validity 10000 -keystore KeyFileName.keystore

这行命令中一些重要的参数值说明如下:

KeyName:表示证书的别名

KeyFileName.keystore: 证书保存的文件名

10000: 表示证书的有效期,单位(天)

RSA:证书的加密类型,一般默认为RSA

其次在创建的过程中要填写一些基本的信息,证书密码等相关的信息。

证书生成后的查看

keytool -list -alias KeyName -keystore KeyFileName.keystore

对APK进行签名

jarsigner -verbose -keystore KeyFileName.keystore sign_apk_file.apk KeyName参数解释:

KeyFileName.keystore 已经生成号的证书

sign_apk_file.apk 需要签名的apk文件

KeyName 证书的别名

待签名的apk文件根根目录下如果有文件夹“META-INFO”,请先删除(重新签名就需要这样做)。

如果不想创建过程输出太多信息,可以删除“-verbose” 。

上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,

只需将 signed.apk 改为

-signedjar signed.apk sign_old.akp即可。

签名后可以使用如下命令验证是否签名成功:

> jarsigner -verify signed.apk

如果需要查看更详细的验证信息,可修改为:

> jarsigner -certs -verbose -verify signed.apk

使用android sdk的zipalign工具优化已签名的apk文件

> zipalign -v 4 unaligned.apk aligned.apk

注意要在签名后再zipalign。这个工具不是jdk自带的,而是在%ANDROID_HOME%\tools\zipalign。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值