软件使用手册合辑

签名密钥库丢失的后果与预防

本篇讲 APK 签名用的密钥库为什么丢不起、丢了各自有什么后果,以及怎么备份才算真的稳妥。相关文档:手机上给APK签名的工具怎么用.md · APK签名方案V1到V4的区别.md


一、密钥库是什么,为什么重要

给 APK 签名要有一对钥匙:私钥负责签,证书跟着包走,这对钥匙通常存放在一个密钥库文件里(.jks / .keystore)。同一个应用要出更新,新旧包必须用同一把私钥签,系统才认作同一个人的升级。

一句话:APK 丢了可以随时重新拿,密钥库丢了就真没了。

二、丢了之后的后果

情况后果
只是自己手机上装着用的包卸载重装,用新密钥重签即可,没有实际损失
已经发出去给别人用的应用换新密钥重签后包名不变,但签名不同,设备会拒绝覆盖安装;只能让大家卸载重装,或换一个包名重新发布

签名密钥没有任何「找回」机制,第二行的代价随用户量线性增长——所以预防永远比补救便宜。

三、备份怎么做才靠谱

密钥库文件、密码、别名,三样缺一不可,备份时一起安排:

  1. 导出密钥库文件(改文件名不影响使用,别改扩展名);
  2. 密码和别名单独记录,别和密钥库文件放在同一个文档里;
  3. 至少存两处:电脑一份、网盘或移动硬盘一份。

恢复时把文件传回手机,在工具里重新导入即可,不需要其他配置。手机上的导入导出操作(以 Apksigner 为例,免费版即可完成)见 手机上给APK签名的工具怎么用.md。

四、没有现成密钥库怎么办

不花钱的路子:在电脑上用 JDK 自带的 keytool 生成一份,再传回手机导入:

keytool -genkeypair -v -keystore my-release.jks -alias myalias -keyalg RSA -validity 10000

有效期直接给到 10000 天(约 27 年)。生成完马上做第三节的备份。两个容易踩的细节:

现在就把密钥库按第三节备份两处,几分钟的事,别等出事才动手。

同站更多文档

  1. APK 签名方案 V1 到 V4 的区别
  2. 手机上给 APK 签名的工具怎么用