先来个真实又扎心的场景:
你撸了半年一个 Android App,好不容易上线,用户渐渐多起来了。
有一天老板说:
“我们要大版本更新,顺便换下发版机器。”
结果你一打包——
发现 release keystore 不见了,密码谁也记不清,
最后的结局是:
- 老用户全都无法无损升级,
- 新包装上去会提示“签名不一致,请卸载原应用后再安装”,
- 用户一卸载,数据全没,评分直接从 4.8 掉到 2.x。
这事背后,其实就三个关键词惹的祸:
keystore、jks、证书
很多人对它们的印象是:
- “反正就是打包时要填的几个东西…”
- “签名配置的那几个文件吧…”
- “忘了就完蛋的那个东西。”
但具体啥是 keystore?
.jks 是啥?
证书和签名又什么关系?
怎么用才安全又不容易翻车?
这篇就用大白话,把它们彻底讲清楚:
- keystore 到底是个啥?里面装了啥?
- .jks 文件和 keystore 是不是一回事?
- 证书长啥样,与签名有什么关系?
- 打包时到底做了哪些动作?
- keystore 的生成、备份、迁移、过期,有哪些坑?