编译一个自定义fluter engine
但是其并没有叙述如何针对具体某个版本定制engine
找到flutter当前版本对应的engine版本
是一个commit-id.
1
2
3
4
5
# 3.3.1
cat $FLUTTER_REPO/bin/internal/engine.version
> 3efdf03e73dd352873fc5a7e1c0de04e52863b3a
环境准备
GClient
下载一个gclient
:googleapis.com
网速较慢,可尝试其他不知名办法
拉取最新代码
分为两个部分:flutter engine源码 + dart sdk + clang等编译工具
为了加快源码拉取速度,可以终端配置set http_proxy/https_proxy/HTTP_PROXY/HTTPS_PROXY
,以及在git中配置代理服务器git config --global http.proxy xxx
来加快速度。
为了加快cipd-client拉取dart/buildtools速度,可以使用Proxifier
软件,配置代理服务器,重定向不支持终端上配置的代理的软件。
编译
回到src
目录,调用以下生成编译缓存。
1
python .\flutter\tools\gn --unoptimized
使用自定义engine编译/运行flutter代码
使用--local-engine
定位到输出即可。
1
flutter run -d windows --local-engine="C:\projects\engine\src\out\host_debug_unopt"