【问题标题】:Xamarin.Forms : Apk size is too largeXamarin.Forms:Apk 大小太大
【发布时间】:2016-08-30 20:16:21
【问题描述】:

我在 Xamarin.Forms 中创建了一个新项目并对其进行调试。我什么都不做,只创建一个 Apk 文件,apk 大小为 14.2 MB。我找到了一些关于链接器行为并更改链接器行为以链接所有程序集的教程。它将 Apk 大小减少到 1 或 2 MB。事实上,我希望这样的 Apk 的大小应该在一些 kbs 中。我在这里缺少什么?

【问题讨论】:

  • Xamarin 将其运行时打包在 APK 中,以便能够实际运行应用程序。没有运行时,应用程序无法在 Android 上运行。如果您打算将您的应用交付给大部分用户,那么除了在 APK 中包含 MONO 运行时之外别无他法。这是制作跨平台应用程序的代价

标签: android xamarin.forms


【解决方案1】:

您可以在documentation 中阅读所有相关信息。

您的主要问题是包含了很多 .NET 内容,因为默认情况下它在您的 Android 设备上不可用。

15.8 MB 的下载大小超出了我们的预期。问题在于 BCL 库,因为它们包括 mscorlib、System 和 Mono.Android, 它提供了许多必要的组件来运行您的 应用。但是,它们还提供了您可能没有的功能 在您的应用程序中使用,因此最好排除这些 组件。

但它们可能不是必需的!这就是链接器的用武之地。

当我们构建一个分发应用程序时,我们会执行一个流程, 称为链接,它检查应用程序并删除任何代码 不直接使用。这个过程类似于 垃圾收集为堆分配提供的功能 记忆。

您可以从 Xamarin.Droid 项目属性访问链接器设置。看看那里的不同设置并与它们一起玩,看看它有什么效果。

【讨论】:

  • 感谢您的即时回复。我跟着-双击android项目->Android Build->Linker->Link All Assemblies。没问题还是其他?
  • 我选择了链接器行为仅链接 SDK 程序集
  • 当我使用链接器时,我收到以下错误 “LinkAssemblies”任务意外失败
  • 检查输出的其余部分。可能是有原因的。
  • 我没有低于 16 MB 的 apk 大小与链接和 proguard 和 Android 本身它不会低于 30 MB : (
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 2017-10-16
  • 2019-08-08
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多