内容简介:这是一篇不成熟的文章,因为本文的方案不一定能用上,但还是写出来吧,仅供参考。前面两篇文章分别分析了Flutter Android/iOS产物构成及大小,和Flutter的命令行打包:因为Flutter 在iOS打release包的时候,其实打了arm64 armv7两个平台的Framework,理所当然,如果我们只打arm64的,大小肯定会减很多,但是这里不是随便就能减的,要看你的APP支持的指令集有哪些,如果你的APP只支持arm64的,那最好了,直接减,Flutter包大小几乎可以在减一半,但是如果你
这是一篇不成熟的文章,因为本文的方案不一定能用上,但还是写出来吧,仅供参考。
前面两篇文章分别分析了Flutter Android/iOS产物构成及大小,和Flutter的命令行打包:
因为Flutter 在iOS打release包的时候,其实打了arm64 armv7两个平台的Framework,理所当然,如果我们只打arm64的,大小肯定会减很多,但是这里不是随便就能减的,要看你的APP支持的指令集有哪些,如果你的APP只支持arm64的,那最好了,直接减,Flutter包大小几乎可以在减一半,但是如果你的APP的指令集需要支持armv7 和 arm64,这个方案就不适用了。
接下来看iOS如何减包。
Flutter iOS减包方法
拆分Flutter Framework的方法,有两种:
- 使用lipo命令
$lipo .../Flutter/Flutter.framework/Flutter -thin arm64 -output .../Flutter 复制代码
- 使用xcode_backend.sh
首先要设置参数, local ARCHS="arm64"
然后运行
$/bin/sh xcode_backen.sh thin 复制代码
直接运行这个脚本会报错,具体使用请看这篇文章Flutter 命令行打包
结论
包含 armv7 arm64两种指令集的Flutter iOS产物大小有13.8M,但是如果只有arm64一种指令集的,大小就只有8M!8M大小在iOS来说,已经很小了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。