最近 鸿蒙应用市场在做推广,力度还可以。本来 flutter 可以跨平台跑的。flutter本身也有维护 支持鸿蒙 平台的 特定版本。
所以今天我们就来尝试下 使用 flutter 来开发一个 鸿蒙平台的App,来上架。包含环境的搭建 修改 上架;
1.开发环境的配置
1.1 flutter sdk 版本介绍
首先呢就是 下载 支持 鸿蒙 环境的 特定 flutter 版本,这里使用 3.22.1-ohos-1.0.4
我们通常使用 fvm 来进行 flutter 不同版本的管理。这样的好处是: 我们可以针对不用项目使用不用的 Flutter SDK版本 ,fvm 的使用我这里也有介绍
1.2 flutter ohos sdk 下载
- 找到 fvm 存放 flutter sdk 的位置 ,一般使用 fvm list 就能看见
D:\Project_HarmonyOS\apps\makeqrcode>fvm list Cache directory: C:\Users\Administrator\fvm\versions Directory Size: 12.23 GB
进入 fvm 缓存路径 下载版本,特定特定SDK版本
git clone https://gitcode.com/openharmony-tpc/flutter_flutter.git #等待下载完成修改 文件名称为:3.22.1-ohos-1.0.4
下载 鸿蒙 开发的 IDE,配置环境;这个上面有详细的 环境配置 教程
https://gitcode.com/openharmony-tpc/flutter_flutter/tree/br_3.22.0-ohos-1.0.4
2.华为开发者平台申请证书文件
华为的这个证书管理和 苹果有点像:但是用起来没有 苹果的方便。
2.1 首先使用 DevEco Studio 生成 .p12 和 .csr 文件
2.2 在华为开发者平台 新建 证书。我这里新建了 dev(开发) 和 prod(线上)
![]()
2.3 为你的应用 新建 App ID
2.4 为你应用 新建 profile 文件:区分 开发 和 生产环境,新建完成 下载 证书,
- 证书不同环境 针对 不同的发开环境。比如 生产的证书 你是不能 开发调试的。应用商店 你是提交不了你 开发环境的证书,
- 后面你添加应用 只需要添加AppID 对应证书就行。其余四个不用新建
3.项目创建
3.1 fvm 创建项目
在这里我们的 前期工作准备完毕了。现在就开始 创建 ohos 应用了 (文件夹不要有中文 空格)
- 创建一个根路径文件夹作为 flutter 项目 路径。
- 使用 fvm use 3.22.1-ohos-1.0.4 ,在本路径中 使用 fvm flutter 命令开头都是 指定的版本
- 使用 fvm 创建 flutter 项目指定,包名 项目名称:(这一步很关键。后面创建好的 鸿蒙工程 改包名很麻烦)
#指定使用 flutter 版本 fvm use 3.22.1-ohos-1.0.4 #创建 flutter 项目,记得一定要使用 fvm 前缀 # 指定包名 为 com.king.okjj 要不然二次改包名 很麻烦 fvm flutter create --org com.king --template=app --platforms=ohos okjj #进入 okjj 文件夹 使用编辑器打开
3.2 项目运行
- 我这里使用的是 DevEco Studio 鸿蒙模拟器 的方式运行的项目
- fvm flutter run 运行项目
- 对一次会下载一些依赖,并且报错 。应为我们没有配置签名
- 使用 DevEco Studio 打开 flutter工程中 ohos 文件夹(就是鸿蒙工程),配置签名
- 配置完成之后我们重新 fvm flutter run ,j
3.3 修改图标 和 app 应用名称
- app 名称
- app 图标
- 对应的配置文件
4.打包上架
上架打包 首先需要 把你的证书换成 生产环境的,然
# 这个和 传统 flutter 一样,后面也能加混淆 # fvm flutter build app --release --obfuscate --split-debug-info=/obfuscate/app fvm flutter build app --release
直接在 华为应用市场 上传就行了。
问题:
- 关于 华为鸿蒙 支持那些 插件。纯 dart 开发的都支持。但是呢这里遇到一个有意思的事情。我这边想用
qr_flutter: ^4.1.0 插件,死活 引入不了。后来用 Android studio 打开发现可以引入 而且正常使用。打包也没问题
- 鸿蒙插件适配表:这里可以查看