由于登录发布模式,无法将 MAUI 文件上传到 Playstore

问题描述 投票:0回答:5

各位网友大家好

我关注了毛伊岛出版物文档

我按照这个过程

得到了aab文件

我得到的结果是:

您上传了在调试模式下签名的 APK 或 Android App Bundle。您需要在发布模式下签署 APK 或 Android App Bundle。了解有关签名的更多信息。 Android 应用程序包未签名。

我该怎么做才能解决这个问题?

c# android keystore maui .net-maui
5个回答
0
投票

使用微软提供的文档进行了相同的尝试。仍然遇到同样的错误。我已经提供了要发布的配置,但仍然遇到应用程序处于调试模式的问题。

步骤:1:keytool -genkey -v -keystore myapp.keystore -alias key -keyalg RSA -keysize 2048 -validity 10000

步骤:2:

<PropertyGroup Condition="$(TargetFramework.Contains('-android')) and '$(Configuration)' == 'Release'">
    <AndroidKeyStore>True</AndroidKeyStore>
    <AndroidSigningKeyStore>myapp.keystore</AndroidSigningKeyStore>
    <AndroidSigningKeyAlias>key</AndroidSigningKeyAlias>
    <AndroidSigningKeyPass>*******</AndroidSigningKeyPass>
    <AndroidSigningStorePass>*******</AndroidSigningStorePass>
</PropertyGroup>

步骤:3:dotnetpublish-f:net6.0-android-c:Release


0
投票

可能需要在Release模式下编译 release mode compilation


0
投票

我也有同样的问题。

无论我是通过在发布模式下运行 Visual Studio、从命令行还是从我的 Azure CI 管道进行签名,Google Play 都不允许我上传已签名的 Android 应用程序包。

顺便说一下,如果您希望从 Azure 构建管道生成签名的 .aab,我建议您执行以下操作:

https://www.andreasnesheim.no/setting-up-ci-for-your-net-maui-android-app-in-azure-devops/

然后,您可以将签名的 .aab 工件连接到发布管道,通过执行以下操作推送到 Google Play:

https://damienaicheh.github.io/azure/devops/2021/10/25/configure-azure-devops-google-play-en.html

嗯,至少这就是我正在尝试做的事情。据我了解,您首先需要从 Google Play 创建手动发布,以便您的发布管道能够找到部署应用程序的位置。这就是我遇到上述问题的原因。

任何未来的更新将不胜感激!


0
投票

如果您是从命令行构建,请检查您是否忘记了

/p:AndroidKeyStore=True

即使在 MSBuild 更新后的版本中,我的构建也开始由调试密钥进行签名。

我用于构建的命令:

dotnet build -c Release 
             -f net7.0-android33.0
             /p:ApplicationVersion=1 
             /p:ApplicationDisplayVersion=test 
             /p:AndroidSigningKeyPass=mypass
             /p:AndroidSigningStorePass=mypass
             /p:AndroidSigningKeyStore=my.keystore
             /p:AndroidSigningKeyAlias=key

这在

MSBuild version 17.5.0-preview-23061-01+040e2a90e
中效果很好。 aab 已使用指定密钥进行签名。

但是随着

MSBuild version 17.5.1+f6fdcf537
,我的发布版本突然开始使用调试密钥进行签名。分析详细日志后,我发现
AndroidKeyStore
必须设置为
true
才能考虑您的自定义键。不知道这个参数是新加的还是有bug没有考虑到。

添加

AndroidKeyStore
参数后,签名是正确的。

dotnet build -c Release 
             -f net7.0-android33.0
             /p:AndroidKeyStore=True     <--- add this
             /p:ApplicationVersion=1 
             /p:ApplicationDisplayVersion=test 
             /p:AndroidSigningKeyPass=mypass
             /p:AndroidSigningStorePass=mypass
             /p:AndroidSigningKeyStore=my.keystore
             /p:AndroidSigningKeyAlias=key

0
投票

大家好,当我发现问题时,我遇到了同样的错误,几乎要放弃了。

仔细检查是否有任何拼写错误。

我的问题是,我在 .csproj 中编写了“AndroidSignedKeyStore”而不是“AndroidSigningKeyStore”。

你不会得到任何编译错误或任何东西,所以值得检查你是否有相同的错误。

© www.soinside.com 2019 - 2024. All rights reserved.