我刚刚在Play游戏机中注册了App Signing,一切都很棒。
但是我现在应该怎样对待我的新上传密钥库及其密码? 我可以将此密钥库置于版本控制之下,并将密码以纯文本形式放入构建脚本吗?
据我所知,这个密钥库仅用于在上传之前临时签署我的apk。所以我认为它非常安全,因为除了我以外没有人可以实际上传新的apk到Play,并且没有选项通过知道上传密钥来访问我的原始版本密钥库。
现在困扰我的另一件事是我看不到任何更改上传密钥库的选项。现在是否可以,或者至少计划很快将其添加到Play控制台?如果我将上传密钥库和密码发布到版本控制,那么如果出现问题,可以选择切换到新的私有密钥库。
答案 0 :(得分:1)
您处理密钥库的方式非常个人化,但是使用密码将其发布到源代码管理中并不是一个好主意。
当你说只有你可以将apk上传到你的帐户中时,你是对的,但是你的帐户可能会因各种原因而受到损害,所以最后一步为你的帐户上传任何apk。
当我加入团队时,由于我们有一个私有源控件,我们使用我们的代码库上传密钥库。但密码是通过1password管理的。
现在我独自工作,我自己处理我的密钥库。
关于更改密钥库的问题。这是不可能的。这是你上传apk后无法改变的两件事:包和密钥库。这样做是出于安全原因。
您可以在此处获得更多信息:https://developer.android.com/training/articles/keystore.html
答案 1 :(得分:1)
正如@jonathanrz所说,最好将密钥库文件保密。
使用gradle.properties
文件存储密钥库密码非常容易,然后只引用build.gradle
文件中的属性值。
请记住用你的生活保护密钥库文件,在多个地方保留它们的备份,如果你丢失它们,你将不得不重新上传你的应用程序。
答案 2 :(得分:0)
我将回答我自己的问题(基于Reddit discussion)。
要更改上传密钥库,您需要contact Google支持并请求重置。这不是最容易的选择,但仍然很好。
无法查看大问题,以便将上传证书及其密码保存在私有存储库中。只要无法自动推送生产版本,它听起来就足够安全并且还简化了Alpha / Beta版本的分发。
有些人合理担心,通过与Google共享发布密钥库,Google可能会将其泄露或用于将恶意代码集成到您的应用中。但它的可能性非常小,所以只要你不在Facebook或其他非常受欢迎的应用程序上工作,它就足够安全,可以依赖谷歌。