diff --git a/README.md b/README.md index 0ccf79a6b9d92286d834e90761d6c0e301a48225..6ca3d49c0f7fcc4aff10319862f07e36e804eae1 100644 --- a/README.md +++ b/README.md @@ -9,44 +9,63 @@ Flutter Engine ## 构建说明: * 构建环境: -1. 目前仅支持linux下构建; - -2. 请确保当前构建环境,可以访问DEPS中配置的allowed_hosts列表。 +1. 目前支持在Linux与Mac中构建; +2. 请确保当前构建环境可以访问DEPS文件中配置的字段allowed_hosts列表。 * 构建步骤: -1. 参照https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment 说明,配置好linux下构建环境; +1. 构建基础环境:可参照[官网](https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment); + + 需要安装的基础库: + + ``` + sudo apt install python3 + sudo apt install make + sudo apt install pkg-config + sudo apt install ninja-build + ``` + + 配置node:下载 `node` 并解压,且配置到环境变量中: -2. 获取源码,创建空文件夹engine,engine内新建.gclient文件,编辑文件: -``` -solutions = [ - { - "managed": False, - "name": "src/flutter", - "url": "git@gitee.com:openharmony-sig/flutter_engine.git", - "custom_deps": {}, - "deps_file": "DEPS", - "safesync_url": "", - }, -] -``` + ``` + # nodejs + export NODE_HOME=/home//env/node-v14.19.1-linux-x64 + export PATH=$NODE_HOME/bin:$PATH + ``` -3. 在engine目录,执行gclient sync;这里会同步engine源码、官方packages仓,还有执行ohos_setup任务; +2. 配置文件:创建空文件夹engine,engine内新建.gclient文件,编辑文件: -4. 从 http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist 每日构建中,下载ohos-sdk-full,在engine根目录下,新建文件夹 ndk/linux/4.0 ,解压ohos-sdk-full中的native文件夹到ndk/linux/4.0文件夹中; + ``` + solutions = [ + { + "managed": False, + "name": "src/flutter", + "url": "git@gitee.com:openharmony-sig/flutter_engine.git", + "custom_deps": {}, + "deps_file": "DEPS", + "safesync_url": "", + }, + ] + ``` -5. engine目录,执行make,既可以开始构建支持ohos设备的flutter engine。 +3. 同步代码:在engine目录,执行`gclient sync`;这里会同步engine源码、官方packages仓,还有执行ohos_setup任务; +4. 下载sdk: 在[每日构建](http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist)下载ohos-sdk-full,在engine根目录下,新建文件夹 ndk/linux/4.0,解压ohos-sdk-full中的native文件夹并放置到ndk/linux/4.0文件夹中; + +5. 开始构建:engine目录,执行`make`,即可开始构建支持ohos设备的flutter engine。 ## embedding层代码构建指导 -1. 编辑shell/platform/ohos/flutter_embedding/local.properties, - sdk.dir=\ - nodejs.dir=\ - +1. 编辑shell/platform/ohos/flutter_embedding/local.properties: + + ``` + sdk.dir= + nodejs.dir= + ``` + 2. 在shell/platform/ohos/flutter_embedding目录下,执行 -``` -./hvigorw --mode module -p module=flutter@default -p product=default assembleHar -``` + ``` + ./hvigorw --mode module -p module=flutter@default -p product=default assembleHar --no-daemon + ``` 3. har文件输出路径为:shell/platform/ohos/flutter_embedding/flutter/build \ No newline at end of file