Flutter ETS API Documentation v1.0.0发布

适配场景:Flutter for OpenHarmony(Flutter-OH)平台ETS开发,覆盖Flutter嵌入、组件开发、引擎管理、跨端通信、平台适配等全核心能力,是开发者基于OpenHarmony搭建Flutter应用、实现Flutter与OH原生协同开发的官方API参考文档。
文档存储:所有API模块文档均托管于AtomGit的flutter_samples仓库,提供详细的接口说明、使用示例与参数定义。

文档查阅说明

以下将原有零散模块按功能域重新分类,开发者可根据实际开发场景(如引擎管理、跨端通信、OH平台适配、插件开发等)快速定位对应API模块,核心标注每个模块的核心作用,便于快速理解与使用。

一、核心注册与注入

模块名称 文档链接 核心作用
FlutterInjector FlutterInjector Flutter-OH的核心依赖注入器,管理所有核心服务的实例创建、获取与销毁,是整个Flutter嵌入层的依赖管理核心
app/FlutterPluginRegistry FlutterPluginRegistry 应用层Flutter插件注册中心,负责Flutter插件的注册、获取、生命周期管理,是插件能力接入的入口

二、基础组件与结构

模块名称 文档链接 核心作用
component/FlutterComponent FlutterComponent OpenHarmony端Flutter核心展示组件,承载Flutter渲染界面,实现Flutter视图与OH原生组件的融合展示
component/XComponentStruct XComponentStruct 基于OH XComponent的结构化定义,为FlutterComponent提供底层渲染容器的参数配置、状态管理与回调定义

三、引擎核心嵌入(Flutter Engine核心能力)

该模块是Flutter-OH的引擎层核心,覆盖引擎的创建、管理、缓存、Dart层交互、系统通道等全能力,细分为Dart层交互、引擎实例管理、加载器、渲染器、系统通道、工作线程6个子类。

3.1 Dart层交互

模块名称 文档链接 核心作用
embedding/engine/dart/DartExecutor DartExecutor Flutter引擎与Dart虚拟机的交互执行器,负责Dart代码的加载、执行与生命周期管理
embedding/engine/dart/DartMessenger DartMessenger Dart层与原生层的消息通信器,封装底层消息传递逻辑,为平台通道提供通信基础
embedding/engine/dart/PlatformMessageHandler PlatformMessageHandler 平台消息处理核心,负责接收、解析、分发Dart层与原生层的平台消息,是通道通信的核心处理器

3.2 引擎实例管理

模块名称 文档链接 核心作用
embedding/engine/FlutterEngine FlutterEngine Flutter引擎核心实例,封装引擎的创建、初始化、启动、销毁,是Flutter-OH的核心运行载体
embedding/engine/FlutterEngineCache FlutterEngineCache 引擎实例缓存管理器,实现FlutterEngine的复用,减少多页面/多组件的引擎创建开销,提升性能
embedding/engine/FlutterEngineConnectionRegistry FlutterEngineConnectionRegistry 引擎连接注册中心,管理FlutterEngine与OH应用、组件的连接状态,同步生命周期回调
embedding/engine/FlutterEngineGroup FlutterEngineGroup 引擎组管理,支持多FlutterEngine的批量创建、管理与生命周期同步,适配多Flutter页面场景
embedding/engine/FlutterEngineGroupCache FlutterEngineGroupCache 引擎组缓存管理器,实现FlutterEngineGroup的复用,进一步优化多引擎场景的性能
embedding/engine/FlutterEnginePreload FlutterEnginePreload 引擎预加载能力,支持应用启动前提前加载FlutterEngine,减少首屏渲染耗时,提升体验

3.3 引擎加载器

模块名称 文档链接 核心作用
embedding/engine/loader/ApplicationInfoLoader ApplicationInfoLoader 应用信息加载器,负责读取Flutter应用的配置信息(如资源路径、入口信息),为引擎初始化提供参数
embedding/engine/loader/FlutterApplicationInfo FlutterApplicationInfo Flutter应用信息结构化定义,封装应用的核心配置参数,是加载器与引擎的信息交互载体
embedding/engine/loader/FlutterLoader FlutterLoader Flutter核心加载器,负责加载Flutter的资源(如dart VM、框架资源、业务资源),是引擎启动的前置核心

3.4 渲染与底层能力

模块名称 文档链接 核心作用
embedding/engine/FlutterNapi FlutterNapi Flutter-OH的NAPI层封装,实现C/C++与OH ETS的交互,为引擎提供底层原生能力支持
embedding/engine/FlutterOverlaySurface FlutterOverlaySurface Flutter浮层渲染表面,支持Flutter视图的浮层展示,适配弹窗、悬浮窗等场景
embedding/engine/FlutterShellArgs FlutterShellArgs Flutter Shell的参数配置,封装引擎启动的命令行参数,为引擎初始化提供自定义配置
embedding/engine/renderer/FlutterRenderer FlutterRenderer Flutter核心渲染器,负责Flutter界面的绘制、渲染管线管理,是视图展示的核心
embedding/engine/renderer/FlutterUiDisplayListener FlutterUiDisplayListener UI显示监听器,监听Flutter渲染界面的显示/隐藏状态,同步回调至原生层
embedding/engine/mutatorsstack/FlutterMutatorsStack FlutterMutatorsStack Flutter渲染变换栈,管理视图的平移、缩放、旋转等变换操作,为渲染器提供变换参数
embedding/engine/mutatorsstack/FlutterMutatorView FlutterMutatorView 变换视图封装,将变换栈与渲染视图绑定,实现视图的个性化变换渲染

3.5 系统通道(Flutter与原生的系统级通信)

封装Flutter官方定义的系统级核心通道,负责Flutter与OH原生在无障碍、键盘、生命周期、本地化等系统能力的通信,是跨端系统能力协同的基础。

模块名称 文档链接 核心作用
embedding/engine/systemchannels/AccessibilityChannel AccessibilityChannel 无障碍通道,实现Flutter视图与OH无障碍服务的通信,支持无障碍朗读、焦点管理等
embedding/engine/systemchannels/KeyboardChannel KeyboardChannel 键盘通道,管理Flutter与OH原生键盘的交互,包括键盘弹起/收起、输入内容同步等
embedding/engine/systemchannels/KeyEventChannel KeyEventChannel 按键事件通道,分发OH原生的按键事件至Flutter层,支持自定义按键处理
embedding/engine/systemchannels/LifecycleChannel LifecycleChannel 生命周期通道,同步OH应用/Ability的生命周期至Flutter层,实现跨端生命周期协同
embedding/engine/systemchannels/LocalizationChannel LocalizationChannel 本地化通道,同步OH系统的语言、地区等本地化配置至Flutter层,实现应用国际化
embedding/engine/systemchannels/MouseCursorChannel MouseCursorChannel 鼠标光标通道,管理Flutter层的鼠标光标样式、事件,适配OH端的鼠标交互
embedding/engine/systemchannels/NativeVsyncChannel NativeVsyncChannel 原生垂直同步通道,同步OH系统的Vsync信号至Flutter层,保证渲染帧率稳定
embedding/engine/systemchannels/NavigationChannel NavigationChannel 导航通道,实现Flutter与OH原生的页面导航交互,支持路由跳转、返回等
embedding/engine/systemchannels/PlatformChannel PlatformChannel 基础平台通道,提供Flutter与OH原生的通用平台能力通信,是自定义通道的基础
embedding/engine/systemchannels/PlatformViewsChannel PlatformViewsChannel 平台视图通道,管理Flutter层中OH原生视图的创建、销毁、状态同步
embedding/engine/systemchannels/RestorationChannel RestorationChannel 恢复通道,实现Flutter应用的状态持久化与恢复,适配OH应用的后台保活/重启
embedding/engine/systemchannels/SettingsChannel SettingsChannel 系统设置通道,同步OH系统的显示、声音等设置至Flutter层,实现应用与系统设置协同
embedding/engine/systemchannels/SystemChannel SystemChannel 核心系统通道,封装通用的系统级通信能力,是所有系统通道的基础父类
embedding/engine/systemchannels/TestChannel TestChannel 测试通道,为Flutter-OH的通道开发提供测试能力,支持自定义测试用例
embedding/engine/systemchannels/TextInputChannel TextInputChannel 文本输入通道,核心处理Flutter与OH原生的文本输入交互,是输入框功能的核心通信层

3.6 引擎工作线程

模块名称 文档链接 核心作用
embedding/engine/workers/PlatformChannelWorker PlatformChannelWorker 平台通道工作线程,将平台通道的消息处理移至子线程,避免阻塞主线程,提升通信性能

四、OpenHarmony平台专属适配

该模块是Flutter-OH的核心差异化能力,针对OpenHarmony的Ability、窗口、触摸、键盘、平台视图等原生能力做专属适配,实现Flutter与OH生态的深度融合。

模块名称 文档链接 核心作用
embedding/ohos/EmbeddingNodeController EmbeddingNodeController OH端嵌入节点控制器,管理Flutter嵌入层的UI节点,实现与OH方舟引擎的节点协同
embedding/ohos/ExclusiveAppComponent ExclusiveAppComponent OH端独占式应用组件,为Flutter应用提供独立的渲染容器,适配纯Flutter OH应用
embedding/ohos/FlutterAbility FlutterAbility OH端Flutter核心Ability,适配OH的Ability生命周期,是Flutter-OH应用的入口载体
embedding/ohos/FlutterAbilityAndEntryDelegate FlutterAbilityAndEntryDelegate Flutter Ability代理,封装Ability的创建、初始化逻辑,简化Flutter Ability的开发
embedding/ohos/FlutterAbilityLaunchConfigs FlutterAbilityLaunchConfigs Flutter Ability启动配置,定义Ability的启动参数、引擎配置等,实现启动个性化配置
embedding/ohos/FlutterEngineConfigurator FlutterEngineConfigurator OH端引擎配置器,针对OH平台定制FlutterEngine的初始化参数,实现引擎的平台化适配
embedding/ohos/FlutterEngineProvider FlutterEngineProvider OH端引擎提供器,统一管理FlutterEngine的创建与获取,为OH端组件提供引擎实例
embedding/ohos/FlutterEntry FlutterEntry Flutter-OH应用入口,封装应用的启动逻辑,实现Flutter引擎与OH应用的启动协同
embedding/ohos/FlutterManager FlutterManager OH端Flutter全局管理器,负责Flutter-OH应用的全局状态、引擎、组件的统一管理
embedding/ohos/FlutterPage FlutterPage OH端Flutter页面,适配OH的PageAbility,实现Flutter页面与OH页面的融合跳转
embedding/ohos/KeyboardManager KeyboardManager OH端键盘管理器,封装OH原生键盘的管理逻辑,为Flutter层提供统一的键盘交互接口
embedding/ohos/KeyboardMap KeyboardMap OH端键盘映射表,定义原生按键与Flutter按键的映射关系,实现跨端按键兼容
embedding/ohos/KeyData KeyData OH端按键数据结构,封装按键的类型、码值、状态等信息,是按键事件的交互载体
embedding/ohos/KeyEmbedderResponder KeyEmbedderResponder OH端按键响应器,处理原生按键事件并分发至Flutter层,支持自定义按键响应逻辑
embedding/ohos/KeyEventHandler KeyEventHandler OH端按键事件处理器,负责按键事件的解析、过滤、分发,是按键处理的核心
embedding/ohos/OhosTouchProcessor OhosTouchProcessor OH端触摸事件处理器,解析OH原生触摸事件,转换为Flutter可识别的触摸格式
embedding/ohos/PlatformViewInfo PlatformViewInfo OH端平台视图信息,封装原生视图的ID、类型、参数等,为Flutter层调用原生视图提供信息
embedding/ohos/Settings Settings OH端Flutter设置,封装Flutter-OH的个性化配置项,支持运行时动态修改
embedding/ohos/TouchEventProcessor TouchEventProcessor OH端触摸事件核心处理器,管理触摸事件的整个处理流程,包括事件接收、解析、分发
embedding/ohos/TouchEventTracker TouchEventTracker OH端触摸事件追踪器,记录触摸事件的轨迹、状态,支持手势识别、事件回滚等
embedding/ohos/WindowInfoRepositoryCallbackAdapterWrapper WindowInfoRepositoryCallbackAdapterWrapper OH端窗口信息回调适配器,封装窗口信息的回调逻辑,实现Flutter层对OH窗口状态的监听

五、插件通信核心(Flutter-OH跨端通信基础)

该模块是Flutter与OpenHarmony原生插件通信的核心,封装了3大核心通道(MethodChannel/EventChannel/BasicMessageChannel)、编解码、消息处理等能力,同时提供Sendable系列适配OH端的跨线程通信,是自定义插件开发的基础。

模块名称 文档链接 核心作用
plugin/common/BackgroundBasicMessageChannel BackgroundBasicMessageChannel 后台基础消息通道,支持在OH后台线程中进行BasicMessageChannel通信,避免阻塞主线程
plugin/common/BackgroundMethodChannel BackgroundMethodChannel 后台方法通道,支持在OH后台线程中进行MethodChannel通信,提升耗时方法的执行性能
plugin/common/BasicMessageChannel BasicMessageChannel 基础消息通道,实现Flutter与原生的双向异步消息通信,适合持续消息交互场景
plugin/common/BinaryCodec BinaryCodec 二进制编解码器,实现二进制数据的直接传输,无额外编解码开销,适合高性能数据传输
plugin/common/BinaryMessenger BinaryMessenger 二进制消息器,封装底层二进制消息的传递逻辑,是所有通道的通信基础
plugin/common/EventChannel EventChannel 事件通道,实现Flutter与原生的原生向Flutter单向事件分发,适合状态监听、数据流推送场景
plugin/common/FlutterException FlutterException Flutter异常封装,定义跨端通信的异常类型、信息,实现异常的统一处理与分发
plugin/common/JSONMessageCodec JSONMessageCodec JSON消息编解码器,实现JSON格式数据的编解码,适合通用的文本/结构化数据传输
plugin/common/JSONMethodCodec JSONMethodCodec JSON方法编解码器,基于JSON封装MethodCall的编解码,是MethodChannel的默认编解码器
plugin/common/MessageCodec MessageCodec 消息编解码器基类,定义编解码的统一接口,是所有自定义编解码器的父类
plugin/common/MethodCall MethodCall 方法调用结构,封装方法名、参数,是MethodChannel通信的核心数据载体
plugin/common/MethodChannel MethodChannel 方法通道,实现Flutter与原生的双向异步方法调用,适合一次性功能调用场景(如获取设备信息)
plugin/common/MethodCodec MethodCodec 方法编解码器基类,定义MethodCall的编解码统一接口,是所有方法编解码器的父类
plugin/common/SendableBinaryCodec SendableBinaryCodec 可发送二进制编解码器,适配OH端跨线程通信的BinaryCodec,支持消息的跨线程传递
plugin/common/SendableBinaryMessageHandler SendableBinaryMessageHandler 可发送二进制消息处理器,适配OH端跨线程的消息处理,支持后台线程处理二进制消息
plugin/common/SendableJSONMessageCodec SendableJSONMessageCodec 可发送JSON消息编解码器,适配OH端跨线程通信的JSONMessageCodec
plugin/common/SendableJSONMethodCodec SendableJSONMethodCodec 可发送JSON方法编解码器,适配OH端跨线程通信的JSONMethodCodec
plugin/common/SendableMessageCodec SendableMessageCodec 可发送消息编解码器基类,定义OH端跨线程编解码的统一接口
plugin/common/SendableMessageHandler SendableMessageHandler 可发送消息处理器基类,定义OH端跨线程消息处理的统一接口
plugin/common/SendableMethodCallHandler SendableMethodCallHandler 可发送方法调用处理器,适配OH端跨线程的MethodChannel消息处理
plugin/common/SendableMethodCodec SendableMethodCodec 可发送方法编解码器基类,定义OH端跨线程方法编解码的统一接口
plugin/common/SendableStandardMessageCodec SendableStandardMessageCodec 可发送标准消息编解码器,适配OH端跨线程的StandardMessageCodec
plugin/common/SendableStandardMethodCodec SendableStandardMethodCodec 可发送标准方法编解码器,适配OH端跨线程的StandardMethodCodec
plugin/common/SendableStringCodec SendableStringCodec 可发送字符串编解码器,适配OH端跨线程的StringCodec
plugin/common/StandardMessageCodec StandardMessageCodec 标准消息编解码器,Flutter官方默认编解码器,支持多种数据类型的编解码,兼容性最强
plugin/common/StandardMethodCodec StandardMethodCodec 标准方法编解码器,基于StandardMessageCodec封装MethodCall编解码,是最通用的方法编解码器
plugin/common/StringCodec StringCodec 字符串编解码器,实现纯字符串数据的编解码,适合简单文本消息传输

六、Flutter-OH功能插件

基于核心通信能力实现的通用功能插件,覆盖文本输入、本地化、鼠标、平台视图等常用场景,可直接复用或二次开发。

模块名称 文档链接 核心作用
plugin/editing/ListenableEditingState ListenableEditingState 可监听的编辑状态,封装Flutter文本编辑的状态,支持状态变化的监听与回调
plugin/editing/TextEditingDelta TextEditingDelta 文本编辑增量,封装文本输入的增量变化信息,实现高效的文本编辑状态同步
plugin/editing/TextInputPlugin TextInputPlugin 文本输入插件,Flutter-OH的核心文本输入能力插件,封装与OH原生键盘的交互逻辑
plugin/editing/TextUtils TextUtils 文本工具类,提供文本解析、处理、转换等通用能力,为文本输入插件提供支持
plugin/localization/LocalizationPlugin LocalizationPlugin 本地化插件,封装OH端的本地化能力,为Flutter应用提供国际化、地区适配等能力
plugin/mouse/MouseCursorPlugin MouseCursorPlugin 鼠标光标插件,封装OH端的鼠标光标能力,为Flutter应用提供光标样式、事件管理等能力
plugin/platform/CustomTouchEvent CustomTouchEvent 自定义触摸事件,封装OH端的自定义触摸事件,支持开发者扩展触摸事件类型
plugin/platform/PlatformView PlatformView 平台视图基类,定义OH原生视图在Flutter层的统一接口,是原生视图嵌入的基础
plugin/platform/PlatformViewFactory PlatformViewFactory 平台视图工厂,负责创建PlatformView实例,实现原生视图的批量创建与管理
plugin/platform/PlatformViewRegistry PlatformViewRegistry 平台视图注册中心,负责PlatformView的注册、获取,是原生视图嵌入的入口
plugin/platform/PlatformViewRegistryImpl PlatformViewRegistryImpl 平台视图注册中心实现类,提供PlatformViewRegistry的具体实现逻辑
plugin/platform/PlatformViewsController PlatformViewsController 平台视图控制器,管理Flutter层中所有原生视图的生命周期、状态同步
plugin/platform/PlatformViewWrapper PlatformViewWrapper 平台视图包装器,将OH原生视图包装为Flutter可识别的组件,实现原生视图与Flutter视图的融合
plugin/platform/RawPointerCoord RawPointerCoord 原始指针坐标,封装触摸/鼠标指针的原始坐标信息,为指针事件处理提供基础
plugin/platform/RootDvModelManager RootDvModelManager 根视图模型管理器,管理OH端原生视图的根模型,实现Flutter视图与原生根视图的协同
plugin/PlatformPlugin PlatformPlugin 平台插件基类,定义Flutter-OH平台插件的统一接口,是所有自定义平台插件的父类

七、通用工具类

为Flutter-OH开发提供通用工具能力,覆盖日志、路径、字符串、剪贴板、消息通道辅助等场景,减少开发者重复开发。

模块名称 文档链接 核心作用
util/ByteBuffer ByteBuffer 字节缓冲区工具,提供高效的字节数据操作能力,适合二进制数据处理
util/Log Log 日志工具,封装OH端的日志打印能力,提供分级日志(DEBUG/INFO/ERROR)、日志过滤等
util/MessageChannelUtils MessageChannelUtils 消息通道工具类,提供通道创建、消息发送、异常处理等通用方法,简化通道开发
util/PasteboardUtils PasteboardUtils 剪贴板工具类,封装OH端的剪贴板能力,实现文本的复制、粘贴
util/PathUtils PathUtils 路径工具类,提供OH端Flutter应用的资源路径、缓存路径、文件路径等的获取与处理
util/StringUtils StringUtils 字符串工具类,提供字符串的解析、转换、判断、拼接等通用能力
util/ToolUtils ToolUtils 通用工具类,提供非分类的通用工具方法,如数据类型转换、对象判断等
util/TraceSection TraceSection 性能追踪工具,提供代码块的性能耗时统计,助力Flutter-OH应用的性能优化

八、视图与渲染核心

Flutter-OH的视图层核心,覆盖Flutter视图的创建、运行、渲染、纹理管理等能力,是Flutter界面展示的基础。

模块名称 文档链接 核心作用
view/FlutterCallbackInformation FlutterCallbackInformation Flutter回调信息,封装Flutter应用的入口回调信息,为引擎启动提供入口参数
view/FlutterRunArguments FlutterRunArguments Flutter运行参数,封装Flutter视图的启动参数,如入口回调、引擎配置等
view/FlutterView FlutterView Flutter核心视图,承载Flutter的渲染内容,是Flutter界面展示的核心容器
view/TextureRegistry TextureRegistry 纹理注册中心,管理Flutter的纹理资源,实现纹理的创建、注册、销毁,适配图片、视频等渲染场景

九、动态视图相关

为Flutter-OH提供动态视图开发能力,支持基于JSON配置快速创建Flutter视图,提升动态化开发效率。

模块名称 文档链接 核心作用
view/DynamicView/dynamicView dynamicView 动态视图核心,基于JSON配置创建Flutter视图,实现视图的动态化渲染
view/DynamicView/dynamicViewJson dynamicViewJson 动态视图JSON配置,定义动态视图的JSON结构化规范,是动态视图的配置基础

欢迎大家加入开源鸿蒙跨平台开发者社区:https://openharmonycrossplatform.csdn.net/

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐