The Flutter embedder for Tizen.
sudo apt install clang-12
sudo apt install git python3 rpm2cpio cpio
sudo apt install binutils-arm-linux-gnueabi binutils-aarch64-linux-gnu binutils-i686-linux-gnu
Create an empty directory called embedder
and cd
into it.
Create a .gclient
file by running:
gclient config --name=src --unmanaged https://github.com/flutter-tizen/embedder
Run gclient sync
to fetch all the source code and dependencies.
Note: gclient sync
must be run every time the DEPS
file (or the generate_sysroot.py
script) is updated.
cd
into the generated src
directory and run the following commands.
For arm
tools/gn --target-cpu arm --target-toolchain /usr/lib/llvm-12
ninja -C out/tizen_arm
For arm64
tools/gn --target-cpu arm64 --target-toolchain /usr/lib/llvm-12
ninja -C out/tizen_arm64
For x86
tools/gn --target-cpu x86 --target-toolchain /usr/lib/llvm-12
ninja -C out/tizen_x86
libflutter_tizen*.so
) into the flutter-tizen tool's cached artifacts directory (flutter/bin/cache/artifacts/engine
) and run flutter-tizen run
or flutter-tizen build tpk
.third_party/libcxx
) instead of the target device's libstdc++.so
, provide the --no-system-cxx
option to tools/gn
.--api-version 6.5
option.This repository contains the following files and directories.
//build
config
: Contains GN configs for setting up the build environment for the toolchain.secondary
: The secondary source tree to find input files for build. See the .gn
file for details.//flutter
fml
: A subset of the Flutter engine's fml library.shell/platform/common
: Contains C++ client wrapper and other common code used by the embedder implementation. Copied from flutter/engine.shell/platform/embedder
: Contains embedder.h
which defines a low-level API for interacting with the Flutter engine. Copied from flutter/engine.shell/platform/tizen
: The Tizen embedder implementation.channels
: Internal plugins based on platform channels.public
: The public API of the embedder.third_party/accessibility
: A fork of the chromium accessibility library. Copied from flutter/engine.//tools
download_engine.py
: A script to download engine artifacts required for linking. Executed as a hook by gclient sync
. The downloaded artifacts can be found in //engine
.generate_sysroot.py
: A script to generate Tizen sysroots for arm/arm64/x86. Executed as a hook by gclient sync
. The sysroots are by default generated in //sysroot
.gn
: A script to automate running gn gen
..gn
: The top-level .gn
file referenced by gn
.DEPS
: The DEPS file used by gclient sync
to install dependencies and execute hooks.