4

我弄得一团糟:当我格式化我的电脑时,我丢失了我用来签署我的安卓应用程序的密钥。谷歌抱怨应用更新必须使用相同的证书签名,但我不再拥有它......有没有办法解决这个问题?我可以访问较旧的签名 apk,我不敢相信谷歌只依赖一个文件......

4

1 回答 1

2

这是不可能的。密钥库包含一个证书,用于对您的 apk 进行数字签名。每个证书都是完全唯一的,不能从旧的 apk 重新生成或恢复。

谷歌依赖它,因为它非常安全,并允许他们真正减少有人可以破解您的开发者帐户详细信息并上传恶意 apk 作为现有应用程序更新的机会。

即使 Google 允许您上传使用不同密钥签名的 apk 作为更新,Android 设备也不会允许用户更新应用程序,因为安装的 apk 与正在安装的 apk 具有不同的签名。如果您从 Google Play 安装应用程序,然后尝试从 Eclipse 安装调试版本,则会遇到同样的问题。

现在,您必须使用不同的密钥在不同的包名称下重新上传应用程序。将来,请记住将您的密钥库备份到多个位置(但要安全地进行。不要意外地将其提交到公共版本控制系统中。密钥库应始终保持私有)。

数字签名基于公钥密码术。给定公钥,您无法恢复私钥——这就是公钥加密的重点。这种算法基于单向函数:容易做但难以逆转的事情。

于 2012-12-24T11:05:33.897 回答