如何从Visual Studio(Xamarin)生成的密钥库注册Google Play应用程序签名



我有一个Xamarin应用程序,我使用Foo.keystore(由Visual Studio生成(和Foo别名以.apk格式发布到Google Play商店。有了新的谷歌政策,我很快就会被要求使用.aab格式,这本身就不是问题。当上传我的.aab到Google PLay控制台时,我需要选择";播放应用程序签名";并且基本上被要求上传我现有的私钥以及新的"加密密钥";上传";钥匙

如何将私钥从我的Foo.keystore上传到";选择加入玩应用程序签名">

我也想知道如何创建一个新的上传密钥?我知道这是可选的,谷歌可以为我生成一个,但我想用";properway";。

在";"选择加入";对话我有三个选择:

  • 从Android Studio导出并上传密钥
  • 从Java密钥库导出并上传密钥
  • 导出并上传密钥(不使用Java密钥库(

我尝试了第一个选项(Android Studio(,并运行以下命令导出密钥:C:Program FilesAndroidjdkmicrosoft_dist_openjdk_1.8.0.25jrebin>keytool -importkeystore -srckeystore E:TempFoo.keystore -destkeystore E:TempFoo.p12 -deststoretype PKCS12

然而,我收到了错误消息:">私钥未正确加密或不是我们支持的密钥类型";在选择加入对话框中上传文件时。

注意:其他选项需要我运行一些Java应用程序,我想避免安装/学习Java只是为了执行一个工具,我真的不知道如何继续。我搜索了Stack Overflow和其他资源,没有找到任何关于如何继续的明确信息。

任何建议和建议都将不胜感激!

这个问题发布已经有一段时间了,看起来仍然有用户在努力寻找正确的方法。

在Visual Studio中,创建存档后,您可以选择"分发"->即席,然后生成一个包含证书的新密钥库。它将保存在C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\Keystore\KEYSTORENAME中。

VisualStudio生成了一个扩展名为.keystore的密钥库,但是,它的格式与Java密钥库(.jks(相同

要将PEM证书上传到Google开发人员控制台,您需要使用实用工具keytool从Visual Studio生成的密钥库中提取它。

要获得keytool,您需要下载一个Java JDK。然后,keytool将在bin文件夹中。

您可以考虑在Visual Studio Tools中运行密钥工具->安卓系统->Android ADB命令提示符。

使用keytool从密钥库提取PEM证书:

keytool-export-rfc-keystore密钥库的路径和名称-alias上传-fileupload_certificate.pem

(所有粗体文本替换为您的值。(

请记住,所有包含空格的参数,尤其是路径,都必须包含在"中">。否则,它们将被视为多个独立的参数:">C:\Program Files\Java\jdk-19\bin\keytool.exe">

在谷歌开发者控制台中,在"设置"下->应用程序完整性->应用程序签名,在上传密钥证书下,单击请求上传密钥重置。

然后,在模态屏幕上,您将被允许将新的PEM证书上传到谷歌开发者控制台。

在谷歌不再改变其处理上传证书的方式之前,这应该是有效的。。。

最新更新