目前我的Xamarin Android应用程序(PCL)在我看来是巨大的,即使在发布模式下也是如此。我怀疑这是由于支持的架构。目前我们都选择了它们。有谁知道我们是否必须选择所有这些?我们根本没有使用Android NDK。
答案 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
很大的其他原因,例如资源(图像,原始文件),程序集等。