【问题标题】:Targeting 64 bit architectures on Xamarin Android针对 Xamarin Android 上的 64 位架构
【发布时间】:2019-06-29 10:51:40
【问题描述】:

我收到一封来自 Google 的电子邮件,我们需要在 2019 年 8 月 1 日之前开始在我们的 Android 应用程序中支持 64 位 CPU。在他们的 documentation 中,它指出您的应用程序中应该有一个 lib/arm64-v8a 文件夹如果您正确支持 64 位,则为 apk 内容。

在我的 Xamarin 项目选项 > 构建 > 编译器设置中,我的平台目标设置为“任何”,因此我希望它可以构建 32 位和 64 位版本。但是,当我生成发布版本并将其打包成 apk 时,当我浏览 apk 时,它只有一个 lib/armeabi-v7a 文件夹,没有 v8a 文件夹。那么我需要做些什么来支持 64 位架构呢?

编辑:我应该包含这个屏幕截图,显示我支持的 ABI:

【问题讨论】:

  • 你读过this吗?
  • 还要确保您的发布配置遵循此...我的调试默认为它,但由于某种原因,发布仅设置为 armeabi-v7a。 :)

标签: android xamarin xamarin.android


【解决方案1】:

进入您的 Project settings / Build / Android Build / Advanced 并启用 arm64-v8a 作为您支持的 ABI 之一。

然后重新构建(如果您正在使用 VS 的该功能,则创建一个新存档)。

注意:确保为您的Release配置执行此操作

【讨论】:

  • 正确,配置下拉菜单设置为“Release-Prod”。
  • 很奇怪,昨天我的 Release-Prod 配置显示为选中了所有 4 个框,但今天重新打开 VS 后只检查了 armeabi-v7a。于是我检查了arm64-v8a并重新发布,现在apk包含了64位版本。谢谢!
  • 愚蠢的问题,但Project Settings 在哪里?我在顶部的ProjectBuild 下查看,在解决方案资源管理器中右键单击项目,打开项目并查看其属性...我找不到你在说的菜单关于。
  • 我花了一段时间才找到它,但在 VS 2019 中,在 Android 项目的设置下,在 Android 选项下,主窗格底部有一个按钮,上面写着“高级”。单击该按钮时出现的窗口中的第一个下拉菜单包含上面屏幕截图中注明的选项。
  • 对于那些无法在 VS for Windows 中找到它的用户,请右键单击 Android 项目、属性、Android 选项、右下角的高级按钮 docs.microsoft.com/en-us/xamarin/android/app-fundamentals/…
【解决方案2】:

正如@sushihangover 提到的,您只需确保在“发布”配置中,您需要选择 arm64-v8a ABI 配置。 请记住在点击“发布存档”之前“全部重建”,这样您就不会遇到基于缓存数据的问题。 您可以查看this article 了解更多详情和视频。

【讨论】:

    【解决方案3】:

    在我的情况下(经过数周的挫折),事实证明 Google Play 控制台(取决于应用程序发布设置)可能会尝试“保留”您的应用程序的旧版本。您需要在发布期间删除所有旧版本。

    【讨论】:

      猜你喜欢
      • 2019-11-12
      • 2015-01-07
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2015-08-27
      • 2011-12-18
      • 1970-01-01
      • 2011-03-16
      相关资源
      最近更新 更多