换签名覆盖安装的正确姿势:先验、再卸、后装
为什么不能直接装
换密钥重签后的包,对系统来说是新出品方的包。直接覆盖安装必然撞上签名不一致报错。想让它落到原应用的位置,只有一条路:让旧包先离开。
标准三步
第一步:先验证,搞清两边归属用验证已安装应用看旧包签名,用验证 APK 文件看新包签名。确认确实是"同包名、不同签名"——如果两边签名本来就一致,问题另寻,不必走卸载。
第二步:备份数据,再卸旧包卸载即丢本地数据,重要的先备份。没有"保留数据换签名"的常规通道——这是安卓的硬设计,不是工具能力问题。
第三步:装新包卸载完成后直接安装签名输出,安装入口见安装 apk 与 split-apks。
数据取舍的决策点
- 数据可弃(游戏已过档、工具无配置):直接卸了重装,最省事。
- 数据重要:先确认应用自身有云同步或导出功能,迁移完成再卸。
- 数据无法迁移且不可弃:那就放弃换签,回到"用原密钥签"的路线——前提是原密钥还在你手里,这也正是密钥备份纪律存在的意义。
分发场景的镜像问题
如果你是发包的一方,收包人遇到的每个签名冲突都消耗一次信任——固定密钥、固定命名(见输出管理),把这条页面写进你的分发说明,比逐个解答省力得多。