我们应该支持哪种Xamarin ABIs

时间:2016-04-06 15:27:21

标签: xamarin xamarin.android

目前我的Xamarin Android应用程序(PCL)在我看来是巨大的,即使在发布模式下也是如此。我怀疑这是由于支持的架构。目前我们都选择了它们。有谁知道我们是否必须选择所有这些?我们根本没有使用Android NDK。

2 个答案:

答案 0 :(得分:4)

我将从here复制部分答案。

  

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

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

另一方面,启用LLVM编译和优化图标/图像将有助于确定最终的APK大小。

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

答案 1 :(得分:4)

不,你不必选择所有这些。如果您想缩小.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很大的其他原因,例如资源(图像,原始文件),程序集等。