使用firestore预构建版本加快Flutter构建速度
前因
我有几个使用Flutter开发的项目,但是其中一个项目构建很慢,比其他几个构建时间机会多了1倍数多;前期排查的时候没有发现什么异常。在一次偶然的机会,在Flutter的官方文档看到了firestore可能会导致构建速度变慢。
优化效果
在优化之前:
- 第一次打包时间:6:58:54
- 第二次打包时间:6:24:43
优化之后(期间还升级了flutter版本和依赖版本,但是和这个关系不大):
- 第一次打包时间:2:39.50
- 第二次打包时间:2:38.71
通过上述的结果查看,效果很明显,构建时间直接少了三分钟。
打包机配置:mac M1 16G 内存
操作指南
操作参考: https://firebase.google.com/docs/firestore/quickstart?hl=zh-cn#set_up_your_development_environment
下面是官方文档的内容:
通过添加预编译框架来缩短 iOS 和 macOS 构建时间。
目前,iOS 版 Firestore SDK 所依赖的代码可能需要长达 5 分钟时间才能在 Xcode 中构建完毕。如需显著缩短构建时间,您可以使用预编译版本,只需将下面的代码添加到 Podfile 的 target 'Runner' do
代码块中即可:
target 'Runner' do
use_frameworks!
use_modular_headers!
+ pod 'FirebaseFirestore',
+ :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git',
+ :tag => 'IOS_SDK_VERSION'
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end
将 IOS_SDK_VERSION
替换为项目中的版本号,在项目里面ios目录可以看到:
ios/.symlinks/plugins/firebase_core/ios/firebase_sdk_version.rb
中的版本号