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-v7a
和arm64-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-v7a
和 arm64-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 架构的动态库 )