代码之家  ›  专栏  ›  技术社区  ›  Russ Fustino

APK已经签署了一份过期太早的证书,如何更新现有安卓Xamarin应用程序的密钥库有效性?

  •  0
  • Russ Fustino  · 技术社区  · 7 年前

    “您上载的APK使用与以前的APK不同的证书进行签名。您必须使用相同的证书。您现有的APK使用带有指纹的证书进行签名:…”

    我假设我需要使用keytool更新有效性。在我的密钥库上。我尝试从命令行执行此语句,希望它能够更新,但它抱怨我的别名已经存在:

    我用新的别名尝试了它,它要求输入一个我从未设置过的密码,如果与密钥库密码相同,则返回,然后我点击enter。然后我得到一个keytool错误:java。io。FileNotFoundException:myapp。密钥库(拒绝访问)。

    我需要在使用密码之前创建别名吗?如果是,怎么做?我已经有一段时间没有手动操作了。或者我应该使用另一个工具还是keytool上的另一个选项?我没有看到任何更新有效性选项。我觉得我离这里越来越近了,在我的搜索中我变得空虚了。如有任何提示,我们将不胜感激。提前谢谢。

    基本上,更新Google Play商店中现有应用程序的密钥库有效性的过程是什么?有可能吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Community M-A    4 年前

    如果您计划支持应用程序的升级,请确保您的应用程序签名密钥的有效期超过该应用程序的预期寿命。建议有效期为25年或以上。当你的密钥有效期到期时,用户将无法再无缝升级到你的应用程序的新版本。

    一旦证书过期,你唯一能做的就是用 新应用程序Id 和新证书。

    在应用程序的预期寿命内,您应该使用相同的证书签署所有APK。您这样做有几个原因:

    应用程序升级:系统在安装应用程序更新时,会将新版本中的证书与现有版本中的证书进行比较。如果证书匹配,系统允许更新。如果您使用不同的证书签署新版本,则必须为应用程序分配不同的软件包名称。在这种情况下,用户会将新版本安装为一个全新的应用程序。

    https://developer.android.com/studio/publish/app-signing.html#considerations