Android给apk签名

APK签名是为了确保应用的可升级性和防止被篡改。通过keytool生成RSA算法的证书,然后使用jarsigner进行签名。签名过程涉及keystore文件、别名、有效期等参数。Android Studio会自动创建debug.keystore,若删除,运行debug版应用会自动重新创建,其默认密码为'android'。

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

Android给apk签名

签名是为了什么????

简单来说,签名可以保证我们的应用可以正常升级,并且不被别人覆盖. 算是一个标识.

工具

  • keytool 是个密钥和证书管理工具,可以用来生成证书.

  • jarsigner 工具利用密钥仓库中的信息来产生或校验 Java 存档 (JAR) 文件的数字签名

使用keytool生成证书:

keytool -genkey -keystore test.keystore -alias test -keyalg RSA -validity 10000

这里写图片描述

参数解释:

  1. -genkey 产生证书文件
  2. -keystore 指定密钥库的.keystore文件中
  3. -keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
  4. -validity 为证书有效天数,这里我们写的是10000天
  5. -alias 产生别名

然后再次执行签名:


jarsigner -verbose -keystore test.keystore -signedjar signed.apk t.apk
test

这里写图片描述

参数说明:

  1. -verbose:指定生成详细输出
  2. -keystore:指定数字证书存储路径
  3. -signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)

后面有个警告,不过没有多大影响:
这里写图片描述

关于debug.keystore

补充点小知识:
1. AndroidStudio会自动生成一个默认的debug.keystore,它存放在~/.android/目录下.
2. 如果一不小心删了(其实我是rm了它),只要重新run一遍debug版应(不指定signingConfig),AS会再次自动创建
3. 它默认密码为 android

参考作者程序亦非猿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值