Flutter Framework iOS减包
这是一篇不成熟的文章,因为本文的方案不一定能用上,但还是写出来吧,仅供参考。
前面两篇文章分别分析了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
结论
包含 armv7 arm64两种指令集的Flutter iOS产物大小有13.8M,但是如果只有arm64一种指令集的,大小就只有8M!8M大小在iOS来说,已经很小了。
转载自:https://juejin.cn/post/6844903745306755086