Android Studio密钥库备份

3

由于丢失应用程序签名密钥非常严重,因此建议将其保存并备份。

在这方面,文档 有点令人困惑(至少对我来说),它们提到“应用程序签名密钥”和“密钥库”,好像这些是不同的东西,需要分别管理和备份。 "应用程序签名密钥"不是属于或定义在“密钥库”中吗?两者不是一样的吗?

无论如何,为了确保我备份了所有必要的内容,以便如果我的硬盘被损坏,甚至当我只是设置新的工作站并想重新创建我的IDE时,我需要备份的唯一.jks文件就是在这里引用的build.gradle中的storeFile部分所需的唯一东西,关于应用程序签名密钥,是这样吗?

signingConfigs {
    development {
        keyAlias 'MyKeyAlias'
        keyPassword 'mykeypassword'
        storeFile file('C:/Users/MyName/my-android-keystores/my-android-keystore.jks')
        storePassword 'mystorepassword'
    }
}
defaultConfig {
    signingConfig signingConfigs.development
}

请查看我的更新答案,希望对您的安全措施有所帮助。我已经更新了它。您不必再为保护您的应用程序而担心。 - Xenolion
2个回答

2
“应用程序签名密钥”不是“密钥库”的一部分或定义吗?它与密钥库没有区别吧?
是的,签名密钥在密钥库中。
“我需要备份的唯一文件是单个.jks文件,在此处的build.gradle文件中的storeFile部分引用了它。”
您还需要build.gradle文件本身或其他包含您密码的内容(例如密码保险箱)。

是的,很好的观点。事实上,我已经在build.gradle中保留了密码部分的快照(并且无论如何都将其与我的项目代码一起备份到私有的Bitbucket存储库中),另外还单独保存了.jks文件本身。因此,似乎只要有我的项目代码(包括build.gradle.和jks文件,如果我需要从头开始重新创建我的设置,那么我就可以放心了。 - drmrbrewer

2
“Keystore”就像它的名字一样,是一个存储库,可能包含许多应用程序的许多密钥,但它也与您的开发环境有关。但如果您担心保护密钥,请考虑使用“新”的Google Play应用签名,如官方来源中所示的链接
由于您的应用签名密钥用于验证您作为开发人员的身份并确保您的用户获得无缝和安全的更新,管理和保护您的密钥非常重要,无论对您还是对您的用户都是如此。您可以选择选择加入使用Google Play应用签名来安全地管理和存储您的应用签名密钥,或者管理和保护自己的密钥库和应用签名密钥。使用Google Play应用签名可以减少担忧,因为它会保留您的密钥,并且您将拥有上传密钥,如果出现问题,相对容易恢复,这是与上述相同链接的引用。
使用 Google Play 应用签名时,您将使用两个密钥:应用签名密钥和上传密钥。Google 会为您管理和保护应用签名密钥,而您需要保留上传密钥并使用它来对您的应用进行签名以供上传到 Google Play 商店。
您应该考虑再次访问链接以获取有关保护您的应用程序密钥的更多信息。

谢谢。我已经知道了新的应用签名选项,其中您可以将密钥有效地转移给Google进行保管。但我不太愿意这样做。我更愿意确保我可以在我的端点签署apk,并确保它不会被链中的任何人更改。此外,我已经备份了其他重要的东西(文档、照片等),因此将签名密钥包含在备份集中并不会增加额外的麻烦。失去我的应用签名密钥并不比失去任何其他重要数据更为灾难性,所以我可以将它们视为同等重要。 - drmrbrewer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接