Flutter Framework iOS減包
阿新 • • 發佈:2018-12-22
這是一篇不成熟的文章,因為本文的方案不一定能用上,但還是寫出來吧,僅供參考。
前面兩篇文章分別分析了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來說,已經很小了。