Flutter Engine的编译以及源码阅读其实挺简单的,只要按照官方文档的步骤来,一般都不会有什么问题.这里记录一下编译的流程,以及源码查看的一些配置和问题.
下载
下载depot_tools,并配置环境
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=/path/to/depot_tools:$PATH
Fork https://github.com/flutter/engine 到自己的账号下
根目录创建
.gclient
文件solutions = [ { "managed": False, "name": "src/flutter", "url": "git@github.com:<your_name_here>/engine.git", "custom_deps": {}, "deps_file": "DEPS", "safesync_url": "", }, ]
执行
gclient sync
通过
cd src/flutter
进入flutter目录下,并执行git remote add upstream git@github.com:flutter/engine.git
关联仓库
编译(Android)
- 在
src/flutter
下执行git pull upstream master
同步最新代码 gclient sync
更新依赖./flutter/tools/gn --android --unoptimized --android-cpu=arm64
生成构建文件ninja -C out/android_debug_unopt_arm64
编译
VSCode 配置
C/CPP
编译完成之后,在out文件下会生成一个
compile_commands.json
,将这个文件添加到c_cpp_properties.json配置文件中Java
安装两个插件
vscjava.vscode-java-pack
和vscjava.vscode-java-dependency
配置JDK,但是目前要求版本最低为JDK11
问题以及解决办法
C/CPP代码头文件总是报错,显示红色波浪线