{"id":20948912,"url":"https://github.com/flutter-tizen/embedder","last_synced_at":"2026-02-11T13:06:33.895Z","repository":{"id":62676565,"uuid":"558276453","full_name":"flutter-tizen/embedder","owner":"flutter-tizen","description":"Flutter embedder for Tizen","archived":false,"fork":false,"pushed_at":"2025-07-07T06:06:04.000Z","size":1134,"stargazers_count":8,"open_issues_count":18,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-07-07T07:19:40.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flutter-tizen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-27T08:22:07.000Z","updated_at":"2025-07-07T06:00:40.000Z","dependencies_parsed_at":"2023-11-21T07:27:36.681Z","dependency_job_id":"170dc65f-4dab-4e80-8a7b-c2a3bcf7e313","html_url":"https://github.com/flutter-tizen/embedder","commit_stats":null,"previous_names":[],"tags_count":72,"template":false,"template_full_name":null,"purl":"pkg:github/flutter-tizen/embedder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutter-tizen%2Fembedder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutter-tizen%2Fembedder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutter-tizen%2Fembedder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutter-tizen%2Fembedder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flutter-tizen","download_url":"https://codeload.github.com/flutter-tizen/embedder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutter-tizen%2Fembedder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272284370,"owners_count":24906872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T00:26:36.516Z","updated_at":"2026-01-30T06:32:26.259Z","avatar_url":"https://github.com/flutter-tizen.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# embedder\n\n[![Build](https://github.com/flutter-tizen/embedder/workflows/Build/badge.svg)](https://github.com/flutter-tizen/embedder/actions)\n\nThe Flutter embedder for Tizen.\n\n## Build\n\n### Prerequisites\n\n- Linux (x64)\n- [depot_tools](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up)\n- [LLVM](https://apt.llvm.org) (17 or later)\n  - `sudo apt install clang-17`\n- Additional dependencies\n  - `sudo apt install git python3 rpm2cpio cpio`\n  - `sudo apt install binutils-arm-linux-gnueabi binutils-aarch64-linux-gnu binutils-i686-linux-gnu`\n\n### Environment setup\n\n1. Create an empty directory called `embedder` and `cd` into it.\n\n1. Create a `.gclient` file by running:\n\n   ```sh\n   gclient config --name=src --unmanaged https://github.com/flutter-tizen/embedder\n   ```\n\n1. Run `gclient sync` to fetch all the source code and dependencies.\n\n   Note: `gclient sync` must be run every time the `DEPS` file (or the `generate_sysroot.py` script) is updated.\n\n### Compile\n\n`cd` into the generated `src` directory and run the following commands.\n\n- **For arm**\n\n  ```sh\n  tools/gn --target-cpu arm --target-toolchain /usr/lib/llvm-17\n  ninja -C out/tizen_arm\n  ```\n\n- **For arm64**\n\n  ```sh\n  tools/gn --target-cpu arm64 --target-toolchain /usr/lib/llvm-17\n  ninja -C out/tizen_arm64\n  ```\n\n- **For x86**\n\n  ```sh\n  tools/gn --target-cpu x86 --target-toolchain /usr/lib/llvm-17\n  ninja -C out/tizen_x86\n  ```\n\n### Notes\n\n- To build an app (TPK) with the embedder generated in the above, copy the output artifacts (`libflutter_tizen*.so`) into the [flutter-tizen](https://github.com/flutter-tizen/flutter-tizen) tool's cached artifacts directory (`flutter/bin/cache/artifacts/engine`) and run `flutter-tizen run` or `flutter-tizen build tpk`.\n- To use the embedder's built-in libc++ (`third_party/libcxx`) instead of the target device's `libstdc++.so`, provide the `--no-system-cxx` option to `tools/gn`.\n- Building NUI-related code requires a sysroot for Tizen 6.5 or above and the `--api-version 6.5` option.\n\n## Repository structure\n\nThis repository contains the following files and directories.\n\n- `//build`\n  - `config`: Contains GN configs for setting up the build environment for the toolchain.\n  - `secondary`: The secondary source tree to find input files for build. See the `.gn` file for details.\n- `//flutter`\n  - `fml`: A subset of the Flutter engine's [fml](https://github.com/flutter/engine/tree/main/fml) library.\n  - `shell/platform/common`: Contains C++ client wrapper and other common code used by the embedder implementation. Copied from [flutter/engine](https://github.com/flutter/engine/tree/main/shell/platform/common).\n  - `shell/platform/embedder`: Contains `embedder.h` which defines a low-level API for interacting with the Flutter engine. Copied from [flutter/engine](https://github.com/flutter/engine/tree/main/shell/platform/embedder).\n  - `shell/platform/tizen`: The Tizen embedder implementation.\n    - `channels`: Internal plugins based on platform channels.\n    - `public`: The public API of the embedder.\n  - `third_party/accessibility`: A fork of the chromium accessibility library. Copied from [flutter/engine](https://github.com/flutter/engine/tree/main/third_party/accessibility).\n- `//tools`\n  - `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`.\n  - `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`.\n  - `gn`: A script to automate running `gn gen`.\n- `.gn`: The top-level `.gn` file referenced by `gn`.\n- `DEPS`: The DEPS file used by `gclient sync` to install dependencies and execute hooks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutter-tizen%2Fembedder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflutter-tizen%2Fembedder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutter-tizen%2Fembedder/lists"}