密钥库备份与丢失处理
给 APK 签名的密钥库(.jks / .keystore)是整个签名体系里唯一「丢了就没法重来」的东西。这篇讲怎么把它的文件、密码、别名三样东西备份稳妥,以及真丢了之后的善后办法。
一、为什么它丢不得
签名体系是一对钥匙:私钥负责签,证书跟着包走。同一个应用要出更新,新旧包必须用同一把私钥签,系统才认作同一个人的升级。
安装包文件丢了可以随时重新获取,密钥库丢了就没有任何「找回」机制——已发出去的应用永远无法以原身份更新,只能卸载重装或换包名重发。
二、备份三件套,缺一不可
- 密钥库文件:从管理工具里导出一份副本;改文件名不影响使用,别改扩展名。
- 密码:库密码和别名密码(有些库两处密码不同),单独记录,别和密钥库文件放在同一个文档里。
- 别名(alias):区分大小写,记不清时可在工具里导入后查看别名列表。
存放上至少分两处:电脑一份、网盘或移动硬盘一份。核对密钥库时可以在工具里查看证书指纹,与备份记录比对确认没拿错文件。
三、丢了之后的两种情况
| 情况 | 能做什么 |
|---|---|
| 只是自己手机上装着用的包 | 没有实际损失:用新密钥重签,卸载重装即可 |
| 已经发出去给别人用的应用 | 换新密钥重签后包名不变,但签名不同,设备会拒绝覆盖安装——只能通知大家卸载重装,或换一个包名重新发布 |
四、顺手把工具备齐
密钥库的导入、导出、指纹查看,用手机端工具就能完成,比如 Apksigner 签名工作台,安卓 7.0 及以上可用。签名与验证的具体操作分别整理在 手机上怎么给APK签名 和 APK签名验证与证书指纹查看 两篇里。
别等出事才动手,现在就按第二节把备份补上,几分钟的事。