前言

随着 OpenHarmony 生态的持续发展,越来越多的开发者选择用 Flutter 跨平台开发鸿蒙应用,同时也有不少同学希望直接基于鸿蒙原生能力打造应用。本文以待办清单 App(RememberTodo) 为例,从 Flutter 跨平台项目搭建、三方库适配、鸿蒙原生能力集成,到最终打包上架华为应用市场,全程实战拆解,新手也能跟着一步步完成,彻底打通从开发到上架的全链路!

一、项目前期准备

1.1 开发环境搭建

  1. 安装最新版 Flutter for OpenHarmony SDK,配置鸿蒙开发环境,确保flutter doctor检测全绿
  2. 安装 DevEco Studio,用于鸿蒙项目配置、签名打包、上架包生成
  3. 注册并完成华为开发者账号实名认证,开通 AppGallery Connect 权限
  4. 准备应用上架素材:1024×1024px 应用图标、3-5 张 9:16(1080×1920px)应用截图、隐私政策链接

1.2 项目创建与初始化

  1. 用 Flutter 命令创建跨平台项目:

    bash

    运行

    flutter create remembertodoo
    cd remembertodoo
    
  2. 初始化鸿蒙项目配置,执行flutter build ohos生成鸿蒙工程结构,确保项目可正常编译运行
  3. 确定应用唯一包名:com.remembertodo.app,全程不可修改,后续签名、上架均基于此包名

二、Flutter 三方库鸿蒙适配实战

2.1 核心三方库选型与适配

待办 App 核心功能依赖的三方库,针对鸿蒙环境做适配优化:

  1. 状态管理provider/bloc,适配鸿蒙 Stage 模型,确保跨平台状态同步
  2. 本地存储shared_preferences,适配鸿蒙本地数据存储,解决跨平台数据持久化问题
  3. UI 组件flutter_screenutil,适配鸿蒙不同尺寸设备,实现响应式布局
  4. 路由管理go_router,适配鸿蒙页面跳转逻辑,兼容原生导航能力

2.2 适配避坑指南

  1. 部分安卓专属三方库需替换为鸿蒙兼容版本,避免编译报错
  2. 针对鸿蒙权限模型,修改权限申请逻辑,适配ohos.permission系列权限
  3. 测试三方库在鸿蒙真机上的兼容性,确保功能无异常、无闪退

三、鸿蒙原生能力集成(Flutter 调用原生)

3.1 鸿蒙原生能力打通

  1. 通过Method Channel实现 Flutter 与鸿蒙原生双向通信,调用鸿蒙本地通知、系统分享等能力
  2. 集成鸿蒙原生 UI 组件,优化待办 App 的交互体验,适配鸿蒙设计规范
  3. 配置鸿蒙应用生命周期,确保 App 在后台运行、冷启动等场景下的稳定性

3.2 项目核心配置(关键!)

3.2.1 根目录 build-profile.json5 配置(鸿蒙全局配置)

json5

{
  "app": {
    "signingConfigs": [
      {
        "name": "default",
        "type": "HarmonyOS",
        "material": {
          "storeFile": "/Users/xxx/Desktop/your_app_key.p12",
          "storePassword": "你的签名密码",
          "keyAlias": "app_release_key",
          "keyPassword": "你的密钥密码",
          "signAlg": "SHA256withECDSA",
          "profile": "/Users/xxx/Desktop/RememberTodo_Release_ProfileRelease.p7b"
        }
      }
    ],
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
        "targetSdkVersion": "6.0.2(22)",
        "compatibleSdkVersion": "6.0.2(22)",
        "runtimeOS": "HarmonyOS",
        "versionName": "1.0.1",
        "versionCode": 101
      }
    ],
    "buildModeSet": [
      {"name": "debug"},{"name": "release"}
    ]
  },
  "modules": [{"name": "entry","srcPath": "./entry"}]
}
3.2.2 entry 模块 oh-package.json5 配置

json5

{
  "name": "entry",
  "version": "1.0.1",
  "versionCode": 101,
  "description": "RememberTodo 鸿蒙待办清单App",
  "main": "",
  "author": "",
  "license": "",
  "dependencies": {}
}

四、Release 包打包与签名(上架核心步骤)

4.1 打包前准备

  1. 执行flutter build ohos --release,生成 Release 版鸿蒙工程
  2. 用 DevEco Studio 打开鸿蒙项目,点击Build → Clean Project清理缓存
  3. 同步项目配置,确保无编译报错、无签名配置错误

4.2 生成上架 App 包

  1. 点击Build → Generate Signed App/APK,选择App类型,模块选entry
  2. 选择已申请的鸿蒙发布证书(.p12),输入签名密码、密钥别名
  3. 构建类型选择Release,勾选 V2 签名,完成打包
  4. entry/build/outputs/app/release目录下,找到最终上架用.app文件

五、华为应用市场上架全流程

5.1 后台应用创建与证书申请

  1. 登录 AppGallery Connect,创建项目与 HarmonyOS 应用,填写包名com.remembertodo.app
  2. 申请鸿蒙发布证书(.p12)、发布 Profile(.p7b),绑定应用包名
  3. 配置应用基础信息:应用名称、分类、年龄分级、一句话简介

5.2 应用包上传与信息完善

  1. 进入「版本管理」,删除所有旧测试包,仅保留最新 Release 包
  2. 上传打包好的.app文件,确认版本号1.0.1(101)显示正常
  3. 上传符合规范的应用图标、截图,填写隐私政策链接、版本更新说明
  4. 核对应用权限、合规信息,确保无违规内容

5.3 提交审核与后续

  1. 点击「保存」→「提交版本」→「提交审核」,等待华为审核(1-3 个工作日)
  2. 审核通过后,应用自动上架华为应用市场,用户可搜索下载
  3. 后续版本更新,复用原签名证书,递增版本号,重复打包上架流程即可

六、全流程避坑总结

  1. 三方库适配:优先选择鸿蒙兼容的 Flutter 三方库,避免安卓专属库导致编译失败
  2. 签名配置:同一应用终身使用同一个.p12 证书,不可更换,否则审核驳回
  3. 版本号规则versionCode每次更新必须递增,不可复用旧版本号
  4. 上架素材:截图严格遵循 9:16 比例、1080×1920px 尺寸,避免审核驳回
  5. 隐私政策:必须提供合规的隐私政策链接,无隐私政策直接驳回

结语

本文完整覆盖了 Flutter for OpenHarmony 三方库适配、鸿蒙原生应用开发、打包上架的全流程,从项目搭建到最终上架,每一步都做了详细拆解。无论是 Flutter 跨平台开发者,还是鸿蒙原生开发新手,都能跟着本文完成一款可上架的鸿蒙待办 App,快速上手 OpenHarmony 生态开发!

原创不易,觉得有用的话点赞 + 收藏 + 关注,后续会更新更多 Flutter 鸿蒙开发、三方库适配实战教程~

标签:Flutter、OpenHarmony、鸿蒙开发、三方库适配、应用上架、DevEco Studio、待办 App

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐