type
status
date
slug
summary
tags
category
icon
password
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代码头文件总是报错,显示红色波浪线
- 作者:姜康
- 链接:https://jiangkang.tech/article/4977c183-8385-47a0-a73b-7eb78c1849b8
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章