我正在编写一个python脚本,用gradlew构建和签署我的android项目,网络上的每个人都在谈论如何丢失生成的密钥,从而失去更新已发布应用程序的能力。我的问题是使用keytool生成的每个密钥都是唯一的吗?使用该密钥签名的apk将很容易上传到谷歌播放商店,使用该密钥签署的每个应用程序都将被视为更新?
谢谢。
是的,keytool生成的每个键都是唯一的。
对于密钥管理,您基本上有几个选项:
-
在本地生成应用程序签名密钥,确保其安全,并且仅在生成应用程序的发布版本时使用。对应用程序的调试版本使用单独的密钥。
-
在本地生成应用程序签名密钥,通过Play注册应用程序签名将密钥提供给Google。在注册过程中,系统将提示您创建另一个密钥(称为上传密钥(。您可以正常使用上传密钥对上传到Play Console的应用程序进行签名,但请确保将应用程序签名保存在具有严格ACL的安全位置。如果你丢失了上传密钥,你可以随时重置它,这样就不那么重要了。
-
最简单的解决方案(也是Play控制台中的默认解决方案(是通过Play注册应用程序签名,并让谷歌生成应用程序签名密钥。你这样做可以确保你不会意外丢失或泄漏它,而且它足够安全。此外,你只有一个密钥需要处理:上传密钥,如果你丢失了它,可以重置
我推荐第三种选择(最简单、最安全(,但有些人更喜欢随身携带密钥副本,因此选择第二种选择。第一种选择风险很大,你似乎已经听说过了。