【发布时间】:2017-10-13 14:47:28
【问题描述】:
这是我第一次构建 expo 应用程序,我现在才进入构建/发布过程,Expo 询问有关生成或上传密钥库的问题。我的同事已经构建并发布了一次应用程序,所以我的问题是,我是否需要使用他构建它时生成的同一个密钥库,还是生成另一个? Keystores 是特定于应用还是特定于用户?
【问题讨论】:
标签: android expo create-react-native-app
这是我第一次构建 expo 应用程序,我现在才进入构建/发布过程,Expo 询问有关生成或上传密钥库的问题。我的同事已经构建并发布了一次应用程序,所以我的问题是,我是否需要使用他构建它时生成的同一个密钥库,还是生成另一个? Keystores 是特定于应用还是特定于用户?
【问题讨论】:
标签: android expo create-react-native-app
This是获取详细信息的链接。
我的同事已经构建并发布了一次应用程序,所以我的 问题是,我是否需要使用生成的相同密钥库 他什么时候建的?
答案是:是的,您需要使用与应用程序相同的密钥库 在游戏商店发布。否则你无法更新 Playstore 中的当前应用。
【讨论】:
KeyStore 顾名思义,它是密钥的存储。 KeyStore 是为一位开发者使用的,他的作品使用加密,可能是几个应用程序。如果他信任您,简单的方法是给您密钥库和所有必需应用程序的密码。
一个密钥库中可以有多个私钥,并且他可能会决定不给你!因此,您真正需要的是该特定应用程序的 私钥,您可能不需要其他同事开发人员提供的整个 Keystore。因此,通过保护您的应用程序,不建议您将整个密钥库和密码提供给其他人,如果这非常值得的话,您可以从Android Studio Signing Your App 和Training on Keystore 的官方来源建议中查看这一点。
这是你必须做的事情
您需要告诉您的同事导出该特定应用程序的密钥,以便您可以将其导入/导入到您自己的密钥库中。检查similar question here 的答案,其中使用命令行如下:
keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias ALIAS -deststorepass PASS -destkeypass PASS
您也可以考虑使用Keystore Explorer Tool 来执行导出和相关工作。
但是您也应该考虑使用Google Play App Signing,如该链接中所述,它还可以简化您对应用程序的管理,并在不使用您的个人密钥库的情况下保护管理。
当您使用 Google Play App Signing 时,如果您丢失了上传密钥,或者它被泄露,您可以联系 Google 以撤消您的旧上传密钥并生成一个新的。由于您的应用签名密钥受 Google 保护,因此即使您更改了上传密钥,您也可以继续上传新版本的应用作为对原始应用的更新。
但是,如果您和您的同事进行类似的项目和团队成员并相互信任。最简单的方法是为您提供密钥库和必要的密码。
【讨论】: