开发者可通过本项目在 Flutter 应用中无缝集成常用插件,最小化业务改动获得完整 OpenHarmony 原生能力支持。项目基于 Flutter 社区官方插件库扩展,新增对 OpenHarmony 平台的兼容适配,提供多个已适配插件及使用示例。【此简介由AI生成】
Flutter Packages
仓库介绍
本仓库基于 Flutter 社区官方插件库(flutter/packages)进行扩展,新增对 OpenHarmony 平台的兼容适配。通过本仓库,开发者可在 Flutter 应用中无缝集成常用插件,通过最小化业务改动获得完整的 OpenHarmony 原生能力支持。
三方库问题请在对应仓库提交 issue;三方库适配请求请至 OpenHarmony-Flutter 组织提交 issue。
贡献指南
本仓库采用多分支管理策略,每个三方库版本都有对应的 dev 分支和 release 分支:
| 分支名 | 命名格式 |
|---|---|
| dev 分支 | br_<库名>-v<版本号>_ohos_dev |
| release 分支 | br_<库名>-v<版本号>_ohos |
开发者贡献代码时,请遵循以下流程:
- 确定目标分支:根据您要修改的三方库及版本,找到对应的 dev 分支。
- 基于 dev 分支开发:fork 从对应的 dev 分支进行开发。
- **提交 PR:将代码变更提交到对应的 dev 分支。
注意:release 分支为发布分支,不接受直接提交 PR。所有代码贡献请务必提交到对应三方库版本的 dev 分支上。
开始使用
使用本仓库插件前,请确保已完成 Flutter SDK 的 OpenHarmony 环境配置。
-
环境搭建
参考 flutter_flutter 仓库文档
【环境配置】。 -
示例参考
前往 flutter_samples 仓库获取集成示例 Demo。
引用方式
适配了 OpenHarmony 的三方库需通过 Git 仓库引入。除必填的 url 外,常用参数如下:
path: 库在仓库中的实际路径,否则可能找不到pubspec.yaml。ref(可选) : 指定要拉取的版本,可以是 分支名、标签(tag) 或 commit id,不写则使用仓库默认分支。
按分支引用(branch):
dev_dependencies:
pigeon:
git:
url: https://gitcode.com/openharmony-tpc/flutter_packages.git
path: packages/pigeon
ref: pigeon-v21.2.0 # 分支名
按标签引用(tag):
dev_dependencies:
pigeon:
git:
url: https://gitcode.com/openharmony-tpc/flutter_packages.git
path: packages/pigeon
ref: gitee/pigeon-v11.0.1 # 发布标签
使用示例
一、工具库pigeon使用
-
引入pigeon库,在pubspec.yaml中dev_dependencies新增配置:
dev_dependencies: pigeon: git: url: https://gitcode.com/openharmony-tpc/flutter_packages.git path: packages/pigeon ref: br_pigeon-v26.1.5_ohos -
项目根目录运行
flutter pub get。 -
项目根目录运行
flutter pub run pigeon --input <dart通信模型文件路径> --arkts_out <arkts平台方法代码输出文件路径,示例./ohos/entry/src/main/ets/xxx.ets>,将会生成Flutter与OpenHarmony平台通信的模板代码。 -
调用示例,参考packages/pigeon/example/app/ohos/entry/src/main/ets/plugins/MessagePlugin.ets。
二、 插件库使用
以 path_provider 举例:
-
在引用的项目中,pubspec.yaml中dependencies新增配置:
dependencies: path_provider: git: url: https://gitcode.com/openharmony-tpc/flutter_packages.git path: packages/path_provider/path_provider ref: br_path_provider-v2.1.5_ohos -
项目根目录运行
flutter pub get,ohos/entry/oh-package.json5会自动添加相关插件har依赖。 -
在业务代码中调用path_provider相关api,它会在OpenHarmony平台正常运行。
示例:在某个Flutter兼容OpenHarmony项目中加入支持OpenHarmony平台的path_provider库依赖。
可参考示例:pictures_provider_demo
OpenHarmony平台已适配packages三方库
常见问题解答
-
运行
flutter pub get时遇到"File name too long"(文件名过长)问题。打开
Git Bash或运行 cmd(需将 Git 添加到环境变量中),执行以下命令:git config --global core.longpaths true
问题交流
- 问题反馈:欢迎在 Flutter框架仓库 以及各个Flutter三方库提交issue。
项目介绍
开发者可通过本项目在 Flutter 应用中无缝集成常用插件,最小化业务改动获得完整 OpenHarmony 原生能力支持。项目基于 Flutter 社区官方插件库扩展,新增对 OpenHarmony 平台的兼容适配,提供多个已适配插件及使用示例。【此简介由AI生成】
定制我的领域下载使用量
项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新