当前位置: 首页 > news >正文

Flutter三方库适配OpenHarmony【flutter_speech】— 生产环境部署与发布

前言

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

代码写完了、测试通过了,接下来就是发布。发布不只是把代码推到仓库那么简单——版本管理、文档编写、包配置、社区规范,每一项都影响着插件的可用性和可维护性。

今天我们来讲flutter_speech从开发完成到正式发布的完整流程。

一、插件打包与发布到 Gitcode

1.1 发布平台选择

1.2 发布前的代码检查

# 1. 代码格式化dartformatlib/ dartformatexample/lib/# 2. 静态分析dart analyze# 3. 运行测试fluttertest# 4. 检查pubspec.yamlflutter pub publish --dry-run

1.3 发布到pub.dev

# 登录pub.devdart pub login# 预检查dart pub publish --dry-run# 正式发布dart pub publish

📌注意:pub.dev会忽略不认识的平台(ohos),所以ohos配置不会导致发布失败。但pub.dev的自动化测试只会验证Android/iOS/Web等官方平台。

1.4 发布到Gitcode/Gitee

对于OpenHarmony社区,推荐将代码托管到Gitee的openharmony-sig组织下:

# 添加Gitee远程仓库gitremoteaddgitee https://gitee.com/openharmony-sig/flutter_speech_recognition.git# 推送代码gitpush gitee main# 推送标签gittag v0.4.0gitpush gitee v0.4.0

1.5 Release发布

在代码托管平台创建Release:

  1. 选择版本标签(如v0.4.0)
  2. 填写Release标题和说明
  3. 附上CHANGELOG中对应版本的内容
  4. 标记为Latest Release

二、oh-package.json5 版本管理规范

2.1 当前配置

{ "name": "com.flutter.speech_recognition", "version": "1.0.0", "description": "Flutter speech recognition plugin for OpenHarmony", "main": "src/main/ets/components/plugin/index.ets", "author": "", "license": "MIT", "devDependencies": { "@ohos/flutter_ohos": "file:../har/flutter_ohos.har" } }

2.2 版本号与pubspec.yaml的关系

文件版本号说明
pubspec.yaml0.4.0Flutter插件版本(面向Dart开发者)
oh-package.json51.0.0OpenHarmony模块版本(面向原生开发者)

两个版本号可以不同,但建议保持同步或有明确的对应关系:

pubspec.yaml: 0.4.0 → oh-package.json5: 0.4.0 pubspec.yaml: 0.4.1 → oh-package.json5: 0.4.1

2.3 版本号规范

遵循语义化版本(Semantic Versioning):

MAJOR.MINOR.PATCH MAJOR: 不兼容的API变更 MINOR: 向后兼容的功能新增 PATCH: 向后兼容的bug修复
变更类型版本变化示例
修复bugPATCH+10.4.0 → 0.4.1
新增功能(兼容)MINOR+10.4.1 → 0.5.0
破坏性变更MAJOR+10.5.0 → 1.0.0
添加OpenHarmony支持MINOR+10.3.0 → 0.4.0

2.4 依赖版本管理

{ "devDependencies": { "@ohos/flutter_ohos": "file:../har/flutter_ohos.har" } }

当前使用本地文件引用。发布时可能需要改为远程引用:

{ "devDependencies": { "@ohos/flutter_ohos": "^3.35.7" } }

三、README 文档编写规范与多语言支持

3.1 README结构

一个好的README应该包含以下部分:

# flutter_speech Flutter speech recognition plugin with OpenHarmony support. ## Features - Speech-to-text recognition - Real-time partial results - Multiple platform support (Android, iOS, macOS, OpenHarmony) ## Platform Support | Platform | Support | Language | |----------|---------|----------| | Android | ✅ | 100+ languages | | iOS | ✅ | 60+ languages | | macOS | ✅ | 60+ languages | | OpenHarmony | ✅ | Chinese (zh_CN) | ## Installation ## Usage ## API Reference ## Platform-specific Setup ## Troubleshooting ## Contributing ## License

3.2 OpenHarmony特有的说明

README中需要特别说明OpenHarmony的限制和配置:

### OpenHarmony Setup 1. Add microphone permission to your app's `module.json5`: ```json5 "requestPermissions": [{ "name": "ohos.permission.MICROPHONE", "reason": "$string:microphone_reason", "usedScene": { "abilities": ["EntryAbility"], "when": "inuse" } }]
  1. Language support: Only Chinese (zh_CN) is currently supported.

  2. Minimum SDK: OpenHarmony API 20

### 3.3 多语言README 对于面向中国开发者的OpenHarmony插件,建议提供中英文README:

README.md # 英文(默认)
README_zh.md # 中文

### 3.4 徽章(Badges) ```markdown [![pub package](https://img.shields.io/pub/v/flutter_speech.svg)](https://pub.dev/packages/flutter_speech) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Platform](https://img.shields.io/badge/platform-android%20|%20ios%20|%20macos%20|%20ohos-blue)

四、CHANGELOG 维护与版本迭代策略

4.1 CHANGELOG格式

遵循Keep a Changelog规范:

# Changelog ## [0.4.0] - 2025-02-14 ### Added - OpenHarmony platform support - Core Speech Kit integration for Chinese speech recognition - Microphone permission handling via abilityAccessCtrl - Platform detection with Platform.isOhos ### Changed - Updated example app with OpenHarmony language restriction ### Notes - OpenHarmony currently only supports Chinese (zh_CN) - Requires OpenHarmony API 20 or higher - Requires Flutter-OHOS SDK 3.35.7 or higher ## [0.3.0] - 2024-xx-xx ### Added - macOS platform support - ...

4.2 变更分类

分类含义示例
Added新增功能OpenHarmony支持
Changed功能变更修改默认参数
Deprecated即将移除旧API标记废弃
Removed已移除删除旧API
FixedBug修复修复内存泄漏
Security安全修复修复权限漏洞

4.3 版本迭代节奏

阶段版本范围迭代频率重点
初始开发0.1.0-0.9.0每周功能完善
Beta测试0.9.0-1.0.0-rc每两周Bug修复
正式发布1.0.0+每月稳定性
维护期1.x.x按需安全修复

五、社区贡献指南与 Issue 管理

5.1 CONTRIBUTING.md

# Contributing to flutter_speech ## Getting Started 1. Fork the repository 2. Clone your fork 3. Create a feature branch 4. Make your changes 5. Run tests: `flutter test` 6. Submit a pull request ## Development Setup - Flutter-OHOS SDK 3.35.7+ - DevEco Studio 6.0.2+ - OpenHarmony device with API 20+ ## Code Style - Dart: Follow effective_dart guidelines - ArkTS: Follow OpenHarmony coding standards - All code must pass `dart analyze` with no issues ## Pull Request Guidelines - One feature/fix per PR - Include tests for new features - Update CHANGELOG.md - Update README if API changes ## Reporting Issues - Use the issue template - Include device info and SDK versions - Include reproduction steps - Include log output (hdc hilog)

5.2 Issue模板

<!-- .github/ISSUE_TEMPLATE/bug_report.md --> --- name: Bug Report about: Report a bug in flutter_speech --- ## Environment - Flutter version: - Flutter-OHOS SDK version: - OpenHarmony API version: - Device model: - DevEco Studio version: ## Description <!-- What happened? --> ## Steps to Reproduce 1. 2. 3. ## Expected Behavior <!-- What should have happened? --> ## Actual Behavior <!-- What actually happened? --> ## Logs <!-- Paste relevant logs from `hdc hilog | grep FlutterSpeechPlugin` -->

5.3 Issue标签管理

标签颜色含义
bug红色确认的Bug
enhancement蓝色功能请求
ohos绿色OpenHarmony相关
android橙色Android相关
ios紫色iOS相关
documentation灰色文档相关
good first issue黄色适合新手

5.4 PR审核流程

贡献者提交PR │ ├── 自动化检查(CI) │ ├── dart analyze │ ├── flutter test │ └── 代码格式检查 │ ├── 代码审核(维护者) │ ├── 代码质量 │ ├── 测试覆盖 │ └── 文档更新 │ └── 合并 ├── Squash merge(推荐) └── 更新CHANGELOG

六、发布检查清单

6.1 发布前

  • 所有测试通过
  • 代码已格式化(dart format)
  • 静态分析无警告(dart analyze)
  • pubspec.yaml版本号已更新
  • oh-package.json5版本号已更新
  • CHANGELOG.md已更新
  • README.md已更新(如有API变更)
  • 示例App在所有平台可运行
  • git tag已创建

6.2 发布中

  • pub.dev发布成功(dart pub publish)
  • Gitee/GitHub Release已创建
  • Release notes已填写

6.3 发布后

  • 在新项目中验证安装
  • 检查pub.dev页面显示正常
  • 通知社区(论坛、群组)
  • 关闭已修复的Issues

总结

本文讲解了flutter_speech的生产环境部署与发布流程:

  1. 发布平台:pub.dev + Gitee/GitHub双平台发布
  2. 版本管理:pubspec.yaml和oh-package.json5版本同步
  3. 文档规范:README结构化、CHANGELOG规范化、多语言支持
  4. 社区建设:贡献指南、Issue模板、PR审核流程
  5. 发布检查:完整的发布前/中/后检查清单

下一篇是本系列的最后一篇——总结与未来展望,我们将回顾整个适配过程并展望OpenHarmony语音识别的未来。

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是我持续创作的动力!


相关资源:

  • pub.dev发布指南
  • Semantic Versioning
  • Keep a Changelog
  • Gitee OpenHarmony-SIG
  • Flutter Package发布最佳实践
  • 开源鸿蒙跨平台社区
http://www.jsqmd.com/news/402557/

相关文章:

  • 基于Python构建个人知识库Chatbot:从数据清洗到智能问答实战
  • Flutter三方库适配OpenHarmony【flutter_speech】— 与其他 HarmonyOS Kit 的联动
  • SpringBoot与Vue整合智能客服:技术选型与实战避坑指南
  • 生成式AI智能客服开发实战:从架构设计到生产环境避坑指南
  • 腾讯IM智能客服AI辅助开发实战:从架构设计到性能优化
  • python+Vue3计算机学院校友信息活动网站的设计与实现(编号:66613294)
  • 我与Ling Studio的72小时:一个全栈开发者的真实手记
  • python+Vue3社区医院药店药品进销存管理系统(编号:23661210)
  • 教授简陋的投票统计系统(改良版)
  • 运筹学-决策分析
  • python+Vue3美容院会员信息管理系统(编号:30063296)
  • 凤希AI伴侣V1.3.7发布了,但您感受到的远不止这些功能?
  • 移动应用开发毕业设计实战:从选题到上线的全链路技术指南
  • 基于扣子智能体的高效客服系统搭建实战:从架构设计到性能优化
  • 实战指南:如何用Coze开发智能客服并接入微信生态
  • ChatTTS Speed优化实战:从AI辅助开发到高性能语音合成
  • 2026年国补后1000-1800元价位轻智能马桶专业客观TOP10榜单 - charlieruizvin
  • 如何用ChatTTS实现高效英国口音女声合成:从模型调优到生产部署
  • [项目]干部人事档案信息采集系统(广东某单位定制)
  • 2025-2026年度3000-5000元价位段智能马桶综合实力权威TOP榜 - 提酒换清欢
  • 斯金纳箱陷阱:LLM的训练告诉我们,模型会为了“拟合数据”放弃复杂推理,人类也会为了“节省认知成本”,主动接受既定规则
  • task scheduling problem
  • 支付分不够也能救!微信专属立减金别浪费,可可收轻松回收不闲置 - 可可收
  • 2025年国内比较好的自动化立体库公司排行,库房货架/贯通式货架/轻型货架/驶入式货架,自动化立体库供应厂家排名 - 品牌推荐师
  • 关键词做域名的示范
  • 知识库智能客服系统架构设计与实现:从技术选型到生产环境避坑指南
  • 强烈安利 10 个 AI论文网站:MBA毕业论文写作全攻略与测评
  • 从零构建Chatbot:AI辅助开发中的Models安装与优化实战
  • c 文件操作
  • 学霸同款!顶流之选的降AIGC工具 —— 千笔·专业降AIGC智能体