我正在尝试为 Google Play 提交签署我的 .NET MAUI 应用程序,但不断收到以下错误:
这里有一个快速的背景:
我用来提交原始版本应用程序的密钥库遭到破坏,所以即使我仍然拥有原始密钥库,我也不得不联系谷歌来重置我的上传密钥。
我在一个新的密钥库中生成了一个新的上传密钥,即
keystore.jks
,导出了 upload_certificate.pem
文件并将其提交给谷歌,他们通知我他们重置了我的上传密钥。
我现在正在尝试使用新的
keystore.jks
来签署我的应用程序。在我的项目文件中,我有以下内容:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-android' and '$(Configuration)' == 'Release'">
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>..\keystore.jks</AndroidSigningKeyStore>
<AndroidSigningKeyAlias>mynewalias</AndroidSigningKeyAlias>
</PropertyGroup>
我发出以下命令来创建签名包:
dotnet publish -f:net7.0-android -c:Release /p:AndroidSigningKeyPass=MyPassword /p:AndroidSigningStorePass=MyPassword
我在我的项目的根目录下发出这个命令,
keystore.jks
文件是上一级,即我的 .sln
文件所在的位置,所以路径是正确的。
关于可能导致此问题的原因以及如何解决它的任何想法/建议?
问题是别名。我确保我记下了我使用的别名,但不可否认我对完全理解我发出的
keytool
命令并不感兴趣。我从 Google 电子邮件中复制并粘贴了其中的大部分内容,并使用它们生成了新的密钥库和上传证书。
当我运行
keytool -list -v -keystore myapp.keystore
命令时,我注意到密钥库中的别名与我在 csproj
文件中的别名不同。
一旦我将其更改为密钥库中的正确别名,一切正常。
我遇到了类似的问题,但不是别名。我使用以下步骤解决了我的问题。
使用文档,
中建议的项目组格式<AndroidSigningKeyStore>C:\Users\path\folder\mymauiapp\myapp.keystore</AndroidSigningKeyStore>
<AndroidSigningKeyPass>keystorepassword</AndroidSigningKeyPass>
<AndroidSigningStorePass>keystorepassword</AndroidSigningStorePass>