Xamarin - 此版本不符合 Google Play 64 位要求

Posted

技术标签:

【中文标题】Xamarin - 此版本不符合 Google Play 64 位要求【英文标题】:Xamarin - This release is not compliant with the Google Play 64-bit requirement 【发布时间】:2019-09-25 08:59:35 【问题描述】:

我将我在 Visual Studio 中的 apk 存档并部署到 Google Play 商店,但它不允许我继续推出 Beta 版,并且 Beta 版推出页面上的唯一消息是以下警告:

点击错误后出现下一条消息:

消息中提供的链接仅适用于 android Studio,而不适用于 Visual Studio,因此我不知道如何解决此问题。

【问题讨论】:

【参考方案1】:

最简单的修复:

请注意以下屏幕,因为您可能正在寻找复选框,但您不会看到它们,至少在您点击最后一个下拉菜单之前不会看到。

    确保您已将解决方案更改为“发布” 右键单击 Android 项目 点击“属性” 选择左侧的“Android 选项” 在页面底部点击“高级” 点击“支持的架构”下的下拉菜单 检查armeabi-v7aarm64-v8a

替代(不建议)修复:

为了修复错误,我卸载了我的 Android 项目并编辑了 csproj 文件。

我从这里更改了我的发布配置:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidManagedSymbols>true</AndroidManagedSymbols>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
  </PropertyGroup>

到这里:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidManagedSymbols>true</AndroidManagedSymbols>
    <AndroidSupportedAbis Condition=" '$(AndroidSupportedAbis)' == '' ">armeabi-v7a;arm64-v8a</AndroidSupportedAbis>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
    <AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
  </PropertyGroup>

终于

然后在重建并重新上传后,我不再收到错误消息,但我也意识到我仍然无法完成 Beta 部署。来发现这是因为我在页面左侧有其他项目(灰色复选标记)尚未完成。

所以最后,也许我可以忽略警告,但至少我还是解决了这个问题。

【讨论】:

arm64-v8a 将添加到Xamarin in VS2019 16.1 VS2017 15.9.12 还包括 arm64-v8a(我测试过)。【参考方案2】:

* 重复my answer *

我遇到了同样的问题,确实是上传时选择了错误的“支持的架构”造成的。

第 1 步

所以现在我选择了这样的架构

但在我也检查过“x86”之前。检查它并没有错,但我了解到在这种情况下,您还需要检查“x86_64”。就像你需要'arm64-v8a',如果你有'armeabi-v7a'

无论如何,我修复了这个问题,重建了解决方案(使用 Visual Studio 2019 社区中的 Xamarin 表单),将其存档并上传到 Google Play 控制台。 没有用!

第 2 步

我想我需要更改“版本名称”(从 1.0.0.0 到 1.0.0.1)才能正常工作,但无济于事。

我迷路了半天,才找到这个

versionCode — 用作内部版本号的正整数。此数字仅用于确定一个版本是否比另一个版本更新,数字越大表示版本越新。这不是向用户显示的版本号;该数字由下面的 versionName 设置设置。 Android 系统使用 versionCode 值来防止用户安装低于其设备上当前安装版本的 versionCode 的 APK,从而防止降级。

在Android developer site.

所以我将“版本名称”改回 1.0.0.0 并将“版本号”(“版本代码”的 VS19C/XamarinForms 别名)提高到 2,重新构建、存档并上传到 Google Play 控制台,我就快到了,但还没有。

第 3 步

只有在我单击具有 3 个受支持架构的 APK 旁边的“删除”后,推出才成功,只留下最后一个上传的 APK,它只有 2 个受支持的架构。

现在我们正在“全面推出”

【讨论】:

【参考方案3】:

这也是因为 Xamarin.Android 9.1 是支持 armeabi 架构的最后一个版本。

在我的情况下,armeabi-v7aarm64-v8a 已经过检查,但我仍然遇到同样的问题。


所以我按照这里的指南进行操作: https://github.com/xamarin/xamarin-android/blob/master/Documentation/guides/messages/xa0115.md

它对我有用!

【讨论】:

以上是关于Xamarin - 此版本不符合 Google Play 64 位要求的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 10.1 - Google Play Console - 查看和发布错误“此版本不符合 Google Play 64 位要求。”

此版本不符合 Google Play 64 位要求。本机 Java 应用程序的所有 .so 都已存在

为什么我收到警告 - 此应用不符合Google Play权限政策,即使我的最新版本不需要这些权限?

错误记录Google Play 上架报错 ( 此版本不符合 Google Play 关于提供 64 位版本应用的要求。| 如果提供 x86 架构动态库则必须提供 x86_64 架构的动态库 )

Unity:即使在播放器设置中未选中 x86 后,此版本也不符合 Google Play 64 位要求错误

什么版本的Google移动广告SDK是Xamarin.Google.iOS.MobileAds使用的?