前言
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
代码写完了、测试通过了,接下来就是发布。发布不只是把代码推到仓库那么简单------版本管理、文档编写、包配置、社区规范,每一项都影响着插件的可用性和可维护性。
今天我们来讲flutter_speech从开发完成到正式发布的完整流程。
一、插件打包与发布到 Gitcode
1.1 发布平台选择

1.2 发布前的代码检查
bash
# 1. 代码格式化
dart format lib/
dart format example/lib/
# 2. 静态分析
dart analyze
# 3. 运行测试
flutter test
# 4. 检查pubspec.yaml
flutter pub publish --dry-run
1.3 发布到pub.dev
bash
# 登录pub.dev
dart 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组织下:
bash
# 添加Gitee远程仓库
git remote add gitee https://gitee.com/openharmony-sig/flutter_speech_recognition.git
# 推送代码
git push gitee main
# 推送标签
git tag v0.4.0
git push gitee v0.4.0
1.5 Release发布
在代码托管平台创建Release:
- 选择版本标签(如v0.4.0)
- 填写Release标题和说明
- 附上CHANGELOG中对应版本的内容
- 标记为Latest Release
二、oh-package.json5 版本管理规范
2.1 当前配置
json5
{
"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.yaml | 0.4.0 | Flutter插件版本(面向Dart开发者) |
| oh-package.json5 | 1.0.0 | OpenHarmony模块版本(面向原生开发者) |
两个版本号可以不同,但建议保持同步或有明确的对应关系:
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修复
| 变更类型 | 版本变化 | 示例 |
|---|---|---|
| 修复bug | PATCH+1 | 0.4.0 → 0.4.1 |
| 新增功能(兼容) | MINOR+1 | 0.4.1 → 0.5.0 |
| 破坏性变更 | MAJOR+1 | 0.5.0 → 1.0.0 |
| 添加OpenHarmony支持 | MINOR+1 | 0.3.0 → 0.4.0 |
2.4 依赖版本管理
json5
{
"devDependencies": {
"@ohos/flutter_ohos": "file:../har/flutter_ohos.har"
}
}
当前使用本地文件引用。发布时可能需要改为远程引用:
json5
{
"devDependencies": {
"@ohos/flutter_ohos": "^3.35.7"
}
}
三、README 文档编写规范与多语言支持
3.1 README结构
一个好的README应该包含以下部分:
markdown
# 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的限制和配置:
markdown
### 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" }
}]
-
Language support: Only Chinese (zh_CN) is currently supported.
-
Minimum SDK: OpenHarmony API 20
3.3 多语言README
对于面向中国开发者的OpenHarmony插件,建议提供中英文README:
README.md # 英文(默认)
README_zh.md # 中文
### 3.4 徽章(Badges)
```markdown
[](https://pub.dev/packages/flutter_speech)
[](https://opensource.org/licenses/MIT)

四、CHANGELOG 维护与版本迭代策略
4.1 CHANGELOG格式
遵循Keep a Changelog规范:
markdown
# 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 |
| Fixed | Bug修复 | 修复内存泄漏 |
| 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
markdown
# 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模板
markdown
<!-- .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的生产环境部署与发布流程:
- 发布平台:pub.dev + Gitee/GitHub双平台发布
- 版本管理:pubspec.yaml和oh-package.json5版本同步
- 文档规范:README结构化、CHANGELOG规范化、多语言支持
- 社区建设:贡献指南、Issue模板、PR审核流程
- 发布检查:完整的发布前/中/后检查清单
下一篇是本系列的最后一篇------总结与未来展望,我们将回顾整个适配过程并展望OpenHarmony语音识别的未来。
如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是我持续创作的动力!
相关资源: