android - 使用 keytool 构建的每个 .keystore 文件是否都是唯一的?

标签 android gradle keystore keytool apksigner

我正在编写一个 python 脚本来使用 gradlew 构建和签署我的 android 项目,
网络上的每个人都在谈论您如何丢失生成的 key ,因此您可能无法更新已发布的应用程序。我的问题是使用 keytool 生成的每个 key 都是唯一的吗?
并且使用该 key 签名的 apk 可以轻松上传到 google play 商店,并且使用该特定 key 签名的每个应用程序都将被视为更新?

谢谢 。

最佳答案

是的,keytool 生成的每个 key 都是唯一的。

对于 key 管理,您基本上有几个选择:

  • 生成应用签名 key 在本地,确保其安全,并且仅在生成应用程序的发布版本时使用它。为您的应用程序的调试版本使用单独的 key 。
  • 本地生成应用签名 key ,注册App Signing by Play 向 Google 提供您的 key 。在注册过程中,系统会提示您创建另一个 key (称为上传 key )。您可以正常使用上传 key 对上传到 Play 管理中心的应用进行签名,但请确保将应用签名保存在具有严格 ACL 的安全位置。如果您丢失了上传 key ,您可以随时将其重置,因此不太重要。
  • 最简单的解决方案(也是 Play 管理中心的默认解决方案)是 报名 App Signing by Play并让 Google 生成应用签名 key .这样您就可以确保不会意外丢失或泄漏它,并且它会足够安全。此外,您只需处理一个 key :上传 key ,如果丢失可以重置。

  • 我推荐第 3 个选项(最简单、最安全),但有些人更喜欢随身携带 key 副本,因此选择了第 2 个选项。正如您似乎已经听说过的那样,第一种选择非常冒险。

    关于android - 使用 keytool 构建的每个 .keystore 文件是否都是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60620873/

    相关文章:

    java - 我真的非常想要一个关闭按钮来终止 Android 应用程序

    android - 验证应用程序是否进入后台或 fragment 将被销毁

    java - 无法添加任务 ':jacocoTestReport',因为同名任务已存在

    android - 无法访问 ActivityCompatApi23 类

    java - 如何修复 java.security.InvalidAlgorithmParameterException : the trustAnchors parameter must be non-empty when connecting to elasticsearch

    android - 为什么在尝试访问常量值时存在 Unresolved 引用?

    java - 如何在android中调出锁屏?

    git - 找不到修订字符串的提交:

    Android:Google Map v2 未显示发布 apk 的 map

    spring-security - spring security中的客户端证书认证