我读 本文 关于签署您的Android应用程序。我使用Eclipse导出我的Android应用程序,不得不创建一个密钥库(成功)和一个带别名的私钥(也成功)。所以我知道我必须使用私钥对应用程序进行签名。
但是,该文章没有对以下问题做出任何澄清:
- 什么是私钥?
- 您制作的每个应用程序是否应该有另一个密钥,或者它们应该共享相同的私钥
- 什么是别名?
- 为什么应用程序具有有效期?
我读 本文 关于签署您的Android应用程序。我使用Eclipse导出我的Android应用程序,不得不创建一个密钥库(成功)和一个带别名的私钥(也成功)。所以我知道我必须使用私钥对应用程序进行签名。
但是,该文章没有对以下问题做出任何澄清:
私钥是一种加密工具,可验证您是该应用的所有者。任何正在更新到Google Play商店的版本都必须使用您的私钥进行签名,以证明它是合法版本。
因此,您要上传到商店的每个不同应用程序都应该有自己的私钥。 如果您丢失了此密钥,您将无法上传任何新版本的应用, 所以一定要把它存放在安全的地方并进行备份!
但是,为方便起见,您可以在同一个密钥库中存储多个私钥。 (虽然我没有,但我觉得为每个项目设置一个不同的密钥库也更方便。)
别名只是一个易于阅读的密钥名称。没有更多或更少。
值得注意的是,当您执行Eclipse“运行”时,它使用称为调试键的东西来运行应用程序。这样可以正常工作,因为您没有尝试将此构建上载到商店,但这就是您需要使用单独的构建过程来构建应用程序以进行部署的原因。
终身有效性是技术要求。只是在未来设定它并且不用担心它。
签名就像您的Android应用程序的证书(想想网络证书有一些想法) - 它证明您是该应用程序的所有者。每个应用都必须签名,因为您提供的链接清楚地说明了。
从理论上讲,开发人员的每个应用程序都应该在同一个签名下(毕竟,它是>你的<签名,而不是应用程序的签名)
别名就是:密钥的别名,用于在签署应用程序时引用密钥库。
关于生命,不是一切都永远持续下去。这些签名(或证书,如果你愿意)可以持续超过25年。不是你需要担心的事情。