请帮助减少Xamarin.Android apk大小

本文关键字:Android apk 大小 Xamarin 帮助 | 更新日期: 2023-09-27 18:19:55

我一直在开发安卓应用程序,但大小似乎很大!我启用了专业防护,链接全部启用,但似乎没有做太多。我有四个小图像,但它们的大小约为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])

这些警告和这个问题有关吗?

请帮助减少Xamarin.Android apk大小

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

apk的尺寸似乎没什么问题。

一个"Hello World"Xamarin.Android应用程序只支持一个链接SDK和用户程序集的ARCH类型,大约需要4MB(对于ARCH类型的armeabi-v7a)。

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

因此,在包含三种拱门类型的情况下,您将看到9+MB仅用于Mono/MonoDroid运行时:

./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

了解Xamarin.Android 中APK的组成部分

从xamarin支持中检查此解决方案https://developer.xamarin.com/guides/android/advanced_topics/linking/