1.2 安装depot_tools
1)克隆depot_tools仓库, 获取gclient命令,执行如下:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
2) 设置环境变量,编辑 ~/.bashrc或者 ~/.zshrc,添加如下内容:
export PATH=$PATH:/path/to/depot_tools
1.3 安装Homebrew
打开终端,输入如下命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.4 安装ant和ninja
brew install ant
brew install ninja
2 引擎代码下载
- .gclient 文件
- 执行 gclient sync
1.2.工具链
在编译之前我们还需要了解下Flutter Engine编译所使用的一些工具
- gclient,https://www.chromium.org/developers/how-tos/depottools/gclient ,这是chromium所使用的一个源码库管理的工具,可以很好的管理源码以及对应的依赖,通过gclinet我们可以获取所有的编译需要的源码和依赖
- ninja,https://ninja-build.org/ ,编译工具,负责最终的编译工作
- gn,https://gn.googlesource.com/gn ,负责生成 ninja编译需要的build文件,特别像Flutter这种跨多种操作系统平台跨多种CPU架构的,就需要通过gn生成很多套不同的ninja build文件。
上面的这些工具的使用场景,简单点说就是通过gclient获取Flutter Engine编译所需要的编译环境,源码和依赖库,然后通过gn生成ninja编译所需要的build文件,最终通过ninja来进行编译。