签名冲突
更新时提示"签名不一致 / 无法安装",根因几乎只有一个:新旧两个包不是同一把密钥签的。Android 的安全模型不允许覆盖安装签名不同的包。
为什么会撞上
- 渠道不同:同一应用在 F-Droid、GitHub、各商店可能用不同密钥签名——F-Droid 版尤其常见,见F-Droid 与第三方仓库;
- 开发者换密钥:少数项目会重置签名(发布说明里通常会提醒);
- 来源不可信:包被第三方重打包——这正是签名机制要拦的事,见安装前验证。
怎么判断
看包名与渠道:.fdroid 后缀的包名说明装的是 F-Droid 构建渠道;详情页的签名证书哈希可与发布页公开值核对,见应用详情页与安装包校验。
怎么处理
- 确定以后固定用哪个渠道更新;
- 卸载现有版本(应用数据会清空,重要数据先备份);
- 从目标渠道重装,此后交由 Obtainium 从同一渠道静默更新,见静默安装的前提。
签名不一致的报错本身是保护机制在起作用——确认渠道切换是有意为之后,再走卸载重装。