【问题标题】:Please help reducing Xamarin.Android apk size请帮助减少 Xamarin.Android apk 大小
【发布时间】:2015-10-29 13:03:49
【问题描述】:

我一直在开发一个 Android 应用程序,但大小似乎非常大!我启用了 pro Guard,链接全部启用,但 dosent 似乎做了很多。我有四个小图像,但每个大小约为 5-10kb。 唯一较小的时候是当我使用共享运行时运行时,但这不适用于发布。这些是我唯一的构建警告:

Warning     can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [classes.jar:META-INF/MANIFEST.MF])    

Warning     can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [internal_impl-22.2.1.jar:META-INF/MANIFEST.MF])

这些警告是否与问题有关?

【问题讨论】:

  • 需要更多信息。 .apk 有多大,您包括哪些 ARCH 类型,实际链接设置等...
  • apk大约14MB,包括armeabi、amreabi-v7a、x86。链接设置为:'Sdk 和用户程序集'

标签: c# android xamarin


【解决方案1】:

apk 大约 14MB,包括 armeabi、amreabi-v7a、x86。关联 设置为:'Sdk 和用户程序集'

这个 apk 大小似乎没有什么问题。

“Hello World”Xamarin.Android 应用仅支持一种链接 SDK 和用户程序集的 ARCH 类型,大小约为 4MB(对于 ARCH 类型 armeabi-v7a)。

每个额外包含的 ARCH 类型都将添加另一组 libmonodroid.so 和 libmonosgen-2.0.so...请记住,在 Android 上运行的 Mono 是一个 NDK 应用程序,因此必须包含每个的本机代码> ARCH 型。 APK 大小不是物理设备上实际安装的应用程序的大小,因为 Android 操作系统会在安装过程中从 APK 中剥离实际需要的原生库。

因此,在您包含三种拱形类型的情况下,您正在为 Mono/MonoDroid 运行时查看 9+MB:

./armeabi:
   144912  libmonodroid.so
  2835260  libmonosgen-2.0.so

./armeabi-v7a:
   144916  libmonodroid.so
  2790212  libmonosgen-2.0.so

./x86:
   128436  libmonodroid.so
  3449836  libmonosgen-2.0.so

Understanding the Constituent Pieces of APKs in Xamarin.Android

【讨论】:

  • 好吧,有道理,为解释喝彩。我的应用程序不再崩溃,所以我认为应该让它保持原样。 :)
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-02
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2023-02-23
    相关资源
    最近更新 更多