我们应该支持哪些Xamarin ABI



在我看来,目前我们的Xamarin Android应用程序(PCL)是巨大的,即使在发布模式下也是如此。我怀疑这是由于支持的体系结构。目前,我们已经全部选定。有人知道我们是否必须选择所有这些吗?我们根本没有使用Android NDK。

我将从这里复制部分答案。

确保您至少检查了以下体系结构:armeabi-v7a和x86。您可以执行其他三种操作,但我们不能执行,因为我们在发布模式下使用LLVM编译,这与64位体系结构不兼容(armeabi除外,它已被弃用)。这方面的好处是,所有的64位体系结构仍然可以使用32位构建,所以如果你检查这3个,它们仍然可以覆盖。

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

顺便说一句,打开LLVM编译和优化图标/图像将有助于获得最终的APK大小。

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

否,您不必选择所有选项。如果您想减小.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/)或磁盘资源清册X(http://www.derlien.com/)来调查为什么你的.apk这么大。您可能会发现.apk很大的其他原因,例如资源(图像、原始文件)、程序集等。

最新更新