【问题标题】:Which Xamarin ABIs should we support我们应该支持哪些 Xamarin ABI
【发布时间】:2018-12-27 08:32:23
【问题描述】:

在我看来,目前我们的 Xamarin Android 应用 (PCL) 非常庞大,即使在发布模式下也是如此。我怀疑这是由于受支持的架构造成的。目前,我们已将它们全部选中。有谁知道我们是否必须选择所有这些?我们也根本没有使用 Android NDK。

【问题讨论】:

    标签: xamarin xamarin.android


    【解决方案1】:

    我将从here复制我的部分答案。

    确保您至少检查了以下架构:armeabi-v7a 和 x86。您可以执行其他三个,但我们不这样做,因为我们在发布模式下使用 LLVM 编译,这与 64 位架构不兼容(不推荐使用的 armeabi 除外)。这样做的好处是,所有 64 位架构仍然可以使用 32 位构建,因此如果您检查这 3 个,它们仍然会被覆盖。

    所以我只会检查这 3 个,除非您有特定的理由检查其他的。我们在仅使用这 3 个的设备上安装我们的应用程序时遇到了 0 个问题。

    附带说明,打开 LLVM 编译和优化您的图标/图像将有助于最终的 APK 大小。

    *编辑:自从写这篇文章后,我们只在某些设备(Android Nexus 9)上遇到了a bug,这会在启动应用程序时导致应用程序崩溃。解决方案是检查 arm64-v8a 架构。这可能会增加应用程序的大小,因此请权衡利弊,看看在包含架构后它对您的 APK 大小有多大影响,或者在必要时为每个架构拆分您的 APK。

    【讨论】:

    • 这些是我们现在选择的 3 个。谢谢你的信息!
    【解决方案2】:

    不,您不必选择所有这些。如果您想减小.apk 的大小,可以为每个ABI 创建一个.apk注意:鼓励的方法是开发和发布单个.apk但这并不总是可行的,有时最好创建单独的。尽管此答案仅深入探讨了不同的 CPU 架构 (ABI),但您也可以针对屏幕尺寸、设备功能和 API 级别创建不同的.apk

    https://developer.xamarin.com/guides/android/advanced_topics/build-abi-specific-apks/

    http://developer.android.com/google/play/publishing/multiple-apks.html

    我建议使用 WinDirStat(https://windirstat.info/) 或 Disk Inventory X(http://www.derlien.com/) 之类的工具来调查您的 .apk 为何如此之大。您可能会发现您的.apk 很大的其他原因,例如资源(图像、原始文件)、程序集等。

    【讨论】:

    • 我将不得不查看 WinDirStat。听起来是调查事物的好方法。
    猜你喜欢
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2022-01-25
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多