您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 
GitHub 99bc9350 Update README.md 4 年前
..
src add async and scheduler binding. 4 年前
third_party/Unity add more code... 4 年前
.gitignore draft2 4 年前
Build.bee.cs add more code... 4 年前
README.md Update README.md 4 年前
bee.exe draft 4 年前
bee.pdb draft 4 年前

README.md

UIWidgets Engine

Introduction

This is the engine code of UIWidgets.

How to Build Depedencies (Windows)

Build Skia

  1. Install depot_tools
git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'

Add ${PWD}/depot_tools to PATH

  1. Clone the skia Repo

git clone https://skia.googlesource.com/skia.git cd skia git checkout chrome/m85 python2 tools/git-sync-deps

  1. Install LLVM

https://clang.llvm.org/get_started.html

  1. Build skia
bin/gn gen out/Debug

Update out/Debug/args.gn with the following content:

clang_win = "C:\Program Files\LLVM"
cc = "clang"
cxx = "clang++"
is_debug = true
skia_use_angle = true
skia_use_egl = true
extra_cflags = [
  "/MTd",
  "-I../../third_party/externals/angle2/include",
]
ninja -C out/Debug -k 0

Ignore this error: "lld-link: error: could not open 'EGL': no such file or directory"

Build flutter fml

  1. Setting up the Engine development environment

Follow https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment

  1. Compiling for Windows

Follow https://github.com/flutter/flutter/wiki/Compiling-the-engine#compiling-for-windows

  1. Checkout flutter-1.17-candidate.5
cd engine/src/flutter
git checkout flutter-1.17-candidate.5
gclient sync -D

Apply the following diff:

diff --git a/fml/BUILD.gn b/fml/BUILD.gn
index 9b5626e78..da1322ce5 100644
--- a/fml/BUILD.gn
+++ b/fml/BUILD.gn
@@ -295,3 +295,10 @@ executable("fml_benchmarks") {
     "//flutter/runtime:libdart",
   ]
 }
+
+static_library("fml_lib") {
+  complete_static_lib = true
+  deps = [
+    "//flutter/fml",
+  ]
+}
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
cd engine/src
python ./flutter/tools/gn --unoptimized
ninja -C .\out\host_debug_unopt\ flutter/fml:fml_lib

Create symbolic

cd <uiwidigets_dir>\engine
cd third_party   \\ create the directory if not exists
mklink /D skia <SKIA_ROOT>

Flutter engine txt include skia header in this pattern 'third_party/skia/*', so without symbolic, the txt lib will include skia header file in flutter engine, instead of headers in skia repo.

How to Build Engine

bee

Set ICU Data Enviroment Varaible

set UIWIDGETS_ICUDATA=<SKIA_ROOT>/out/Debug/icudtl.dat

Unity Editor need to run with those environment variables set.