我使用Xamarin实现了一个Android应用程序:
.apk的大小为 13.6MB ,其中包含:
以下是从编译的.apk中获取的主要组件大小的概述:
(这些是未压缩的尺寸,我将.apk取消归档到目录并查看 Windows资源管理器中的文件):
所有System.xxx.dll (2.56 MB)
我的应用程序集(Droid应用程序+一个PCL)(204 KB)
PCL Microsoft HTTP客户端库(System.Net.Http.dll)(110KB)
'res'文件夹(大小:451KB磁盘大小:816KB) - 因为有些文件是1KB而产生碎片,所以实际大小 vs 磁盘大小明显不同
我可以做些什么来减少已编译的.apk的大小?
我发现它很大。
答案 0 :(得分:2)
使用链接:Sdk +用户程序集,并完成使用Preserve属性标记类的困难过程(请参阅http://docs.xamarin.com/guides/ios/advanced_topics/linker/)。当您的应用程序在Android日志中崩溃时,您可以检查哪个类丢失。它应该只是通过反射或使用IoC动态使用的类。
你也可以创建2个单独的包,一个只用armeabi(用于非常旧的设备),一个用armeabiv7a,一个用x86(目前你的应用程序只会在x86安卓设备上崩溃)。 Google Play支持拥有3个具有不同功能的独立包(不要忘记更改每个包的清单文件中的功能)