更改现有的XF Android应用程序以使用Google App签名。我应该在Play商店中选择哪个选项?


10

我已经开发了一个现有的Xamarin Forms应用程序。我想开始使用.aab,这需要我启用Google App签名。

由于我有可能犯很大的错误,因此我想在这里征询其他人的意见。

谁能告诉我他们用来设置应用签名的过程?

DIS在此处输入图片说明


密钥库使用SHA256进行密码保护和加密,您担心什么错误?
Prateek

我只是不确定如何继续执行此操作。首次使用哪个选项。我尝试在互联网上进行搜索,但是找不到Xamarin Forms Android项目如何执行此操作的任何示例
Alan2

密钥库文件?这是,你可以做到这一点的命令行以及
Prateek

这是为了保护您的应用程序将来的更新。一旦您上传了签名密钥,即使您的Google帐户遭到入侵,除非拥有确切的密钥,否则任何人都无法上传和更新该应用程序。将密钥存放在安全的位置,切勿丢失。
shanranm

Answers:


3

由于您已有一个应用程序,并且拥有一个.keystore,因此您必须执行以下步骤:

步骤1:-通过Google Play注册应用签名。登录到您的Play控制台。b。选择您当前的应用。C。在左侧菜单上,选择发布管理>应用签名。d。如果还没有,请查看服务条款,然后选择接受。

此步骤将使您注册通过Google Play进行应用签名。

步骤2:-将原始密钥发送给Google并创建一个上传密钥a。找到您原始的应用签名密钥。b。登录到您的Play控制台。C。选择一个应用。d。在左侧菜单上,选择发布管理>应用签名。e。选择最适合您的发布过程的导出和上载选项,然后上载现有的应用程序签名密钥。在这里,您必须选择选项3-导出和上载密钥(不使用Java KeyStore),因为您有一个.keystore文件。

步骤3:-创建一个上传密钥(可选和推荐)-这是重要的一步。

如果您要使用现有的应用签名密钥更新已发布到Google Play的应用,则可以选择通过Google Play进行应用签名,如下所示:

如果尚未执行此操作,请使用现有的应用程序签名密钥对应用程序进行签名,并确保选中“导出加密密钥”旁边的框,以将签名密钥另存为加密的* .pepk文件。稍后将需要此文件。登录到您的Play控制台并导航至您的应用。在左侧菜单上,单击发布管理>应用签名。如果适用,请查看服务条款,然后选择接受。选择最能描述您要上传到Google Play的签名密钥的选项之一,然后按照显示的说明进行操作。例如,如本页面所述,如果您使用Android Studio导出应用的签名密钥,请选择上载从Android Studio导出的密钥,然后上载* .pepk文件。单击注册。现在,您应该会看到一个页面,其中包含应用程序签名和上传证书的详细信息。现在,在将Google Play部署给用户时,便使用您现有的密钥对您的应用进行签名。但是,通过Google Play进行应用签名最重要的好处之一就是能够将用于对上传到Google Play的工件进行签名的密钥与Google Play用来对应用进行签名以分发给用户的密钥分开。因此,请考虑按照下一部分中的步骤生成并注册一个单独的上传密钥。

生成并注册上传证书

发布未使用上传密钥签名的应用程序时,Google Play控制台会提供一个选项,供您注册以供将来对该应用程序进行更新。尽管这是可选步骤,但建议您使用与Google Play用于向用户分发应用的密钥不同的密钥发布应用。这样,Google可以确保您的签名密钥安全,并且您可以选择重置丢失或损坏的私有上传密钥。本部分介绍了如何创建上传密钥,从中生成上传证书,以及如何在Google Play中注册该证书以供将来对应用进行更新。

下面介绍了在Play控制台中看到用于注册上传证书的选项的情况:

当您发布使用签名密钥签名的新应用并选择使用Google Play进行应用签名时。当您要发布现有应用程序时,该应用程序已经选择通过Google Play进行应用签名,但是使用其签名密钥进行了签名。如果您不打算发布已通过Google Play进行应用签名的现有应用的更新,并且想要注册上传证书,请完成以下步骤,然后继续有关如何重置丢失或丢失的部分。私有上传密钥已泄露。

如果尚未这样做,请生成一个上传密钥和密钥库。

创建上传密钥和密钥库后,需要使用keytool使用以下命令从上传密钥生成公共证书:

$ keytool -export -rfc
  -keystore your-upload-keystore.jks
  -alias upload-alias
  -file output_upload_certificate.pem

现在您已经拥有了上传证书,请在Play控制台中出现提示时在Google上进行注册,或者阅读以下部分通过Google Play支持团队进行注册。

步骤4:-使用上载密钥签名您的下一个应用程序更新当您发布应用程序更新时,您需要使用上载密钥进行签名。

如果您没有生成新的上传密钥,请执行以下操作:在将发行版本上传到Google Play之前,请继续使用原始应用签名密钥对发行版本进行签名。如果您丢失了应用签名密钥,则可以生成一个新的上传密钥,并将其注册到Google,以继续更新您的应用。

如果您生成了新的上传密钥:在将发行版本上传到Google Play之前,请使用新的上传密钥对发行版进行签名。上载它们之后,Google会检查发行版是否包含上载密钥以验证您的身份。如果您丢失了上传密钥,可以联系支持人员进行重置。


谢谢,对于我的特殊情况,您的答案似乎是最明确的。稍后我可能还会有其他问题。
Alan2

2

这取决于您拥有的.keystore或.jks密钥库文件的扩展名是什么?由于您提到它是现有应用程序,因此,请按照此处 “选择通过Google Play进行应用程序签名”下的现有应用程序说明进行操作。

如果使用的是JKS文件,则只需选择“ Java密钥库”选项,否则,如果您具有KEYSTORE文件,则选择“不使用Java密钥库”。然后继续执行其他步骤。

让我知道您是否在其他任何地方卡住或有其他问题。


这是一个.keystore扩展名。我有一个.keytore和.keyinfo文件。我真的在这里寻找一些详细的说明,作为对我以及可能逐步解决的其他答案。
艾伦2

2

您将必须遵循此文档来创建密钥库文件。

有关您要问的内容的完整说明,请参见Android文档站点。

选项1:

在Android Studio中,我们使用的是Visual Studio,因此不适用,除非您要使用由Android Studio创建的密钥库文件,否则可以使用与此类似的Visual Studio步骤。

选项2:

使用Java密钥库

您可以使用命令行在线程中创建此处提到的新密钥库文件

keytool.exe -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000

请注意,应该将java添加到路径中,以便它在任何地方都能正常工作,否则您将从C:\ Program Files \ Android \ Jdk \ microsoft_dist_openjdk_1.8.0.25运行此命令

选项3:

默认密钥库仅提供几种类型的加密算法。似乎此选项可帮助您使用其他算法生成的密钥,您会将其转换为.pem文件,然后使用它来对应用程序进行签名。

提到.AAB,我相信您对Google PlayApp Signing中提到的推荐apk签名方法感兴趣,您需要上传密钥,下次如果您链接google play,则可以使用云中的keystore在本地对您的应用程序进行签名也可以通过Visual Studio。

如果是新应用,则您可以选择在新应用中选择启用,否则选择在现有应用中选择

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.