在另一台计算机上编译我的 Android 应用程序是否会创建新的签名证书?

Does Compiling My Android App On A Different Computer Create A New Signing Certificate?

我在我的 Windows PC 上创建了一个应用程序,然后我从那台 PC 上将该应用程序发布到 Google Play 商店。我已经将我的所有项目从我的 PC 迁移(通过外部硬盘驱动器传输)到我的 Mac。

我现在想知道在 Mac 上编译同一个应用程序是否会导致它创建一个新证书?

我想知道的原因是因为我想发布更新并且更愿意在 Mac 上处理项目,但我不希望出现问题,当我决定要从 Mac 发布应用程序,Play 商店会看到不同的证书,并且应用程序将像全新的 APK 一样发布。

如果将第一台机器上使用的签名证书复制到第二台机器上,就不会有问题。构建和签名过程应该与平台无关(除非您的构建代码对主机平台做出假设)。

,不依赖电脑。

确保将用于签名的 Keystore 从旧计算机复制到新计算机,一切都会完全相同。

Keystore 是(只是)保存所有密钥的文件(通常具有 .jks 扩展名)。

main documentation 状态:

A keystore is a binary file that contains a set of private keys. You must keep your keystore in a safe and secure place.

A private key represents the entity to be identified with the app, such as a person or a company.

因此,只要您使用相同的私钥(位于您的密钥库)进行识别,就可以了。

默认情况下,它会在每台机器上使用不同的调试证书。您应该显式创建和使用非调试密钥进行发布。您可能不想将签名密钥签入源代码管理,因此您必须手动将其复制到其他计算机。

每个 Android Studio 安装都有自己的调试签名密钥,用于在您的设备上安装应用程序。但是,当您在 Google Play 上签署要分发的应用程序时,您应该使用您已生成并受密码保护的单独密钥库。这个过程的概述在这里:http://developer.android.com/tools/publishing/app-signing.html

好消息是,您可以将该发布密钥库移动到您想要的任何计算机,并使用它为 Play 商店签署发布版本。