【2025最新】Flutter 编译开发 鸿蒙HarmonyOS 6 项目教程(Windows)

一、基础环境搭建

1.1 Git 下载与安装

下载地址:

Git - Installhttps://git-scm.com/install/下载安装文章:

【2025最新】下载安装 Git 详细教程 (Windows)-CSDN博客

1.2 Java JDK17 下载与安装

下载地址:

Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java17-windows下载安装文章:

Java开发环境的搭建(Java 17)_java17-CSDN博客

二、Flutter SDK 下载安装和开发环境搭建

2.1 DevEco Studio下载安装

我这里版本为:

DevEco Studio 6.0.0 Release

Build Version: 6.0.0.858, built on September 24, 2025

Runtime version: 21.0.6+8-b631.39 amd64 (JCEF 122.1.9)

VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Toolkit: sun.awt.windows.WToolkit

Windows 11.0

GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation

Memory: 1536M

Cores: 16

Registry:

idea.plugins.compatible.build=IC-243.24978.46

本次安装需要以下几个文件夹,可以提前创建:在任意盘下创建HarmonyOS文件夹:

画红圈的是需要创建的:

ArkUI-X 文件夹下还有一个 Sdk 文件夹

Emulator 文件夹下还有一个 deployed 文件夹

OpenHarmony 文件夹下还有一个 Sdk 文件夹

1.下载官网压缩包

下载地址:

最新版本 - 下载中心 - 华为开发者联盟https://developer.huawei.com/consumer/cn/download/选择 6.0 稳定版如图所示:

2.下载完成后解压缩包双击打开.exe进入安装页面

3.选择安装位置

尽量不要选择C盘,如果C盘空间充足也可以

4.选择安装选项

全选点击进入下一步

5.选择开始菜单目录

默认即可,点击安装

6.开始安装

2.2 DevEco Studio 相关配置

1.新建一个项目

双击桌面图标进入应用

给你的项目起名,并选择你要保存Harmony项目的文件夹,点击Finish:

2. 配置显示字体

选择左上角 File 下的 Settings

3.设置安装OpenHarmony SDK

在Settings页面下的OpenHarmony SDK

选择安装路径:

点击同意,接着Next

等待下载,耐心等待

下载完成如图所示:

4.设置安装ArkUI-x

选择安装路径:

点击同意,接着Next

等待下载,耐心等待

下载完成如图所示:

点击蓝按钮OK关闭。

5.配置安装虚拟机模拟器

点击Device Manager

这里选择NO

配置安装位置:

选择完安装地址,出现弹窗点击Yes即可

接着选择右下角 New Emulator 新建虚拟机:

选择虚拟机镜像下载位置:

点击同意,接着Next

等待下载,耐心等待

接着Next:

运行即可,初次运行可能会有点慢,耐心等待即可:

6.运行项目

模拟器启动成功后,点击右上角运行按钮,即可在模拟器看见相关页面

2.3 配置鸿蒙SDK环境变量

默认在Terminal中,默认不识别hdc命令,需要将hdc所在的路径添加到环境变量(根据自己的deveco studio安装的路径自行调整)

F:\Chengxusheji\HarmonyOS\DevEco Studio\sdk\default\openharmony\toolchains

F:\Chengxusheji\HarmonyOS\DevEco Studio\tools\ohpm\bin

F:\Chengxusheji\HarmonyOS\DevEco Studio\tools\node

F:\Chengxusheji\HarmonyOS\DevEco Studio\tools\hvigor\bin

右键点击此电脑,点击属性,再点击高级系统设置,最后点击环境变量

点击右上角新建添加四个地址位置:

点击确定

另外,还需要新建DEVECO_SDK_HOME变量,路径为

F:\Chengxusheji\HarmonyOS\DevEco Studio\sdk

盘号:\你的位置\HarmonyOS\DevEco Studio\sdk

2.4 下载适配鸿蒙的flutter SDK

1.开始下载

利用前面下载安装好的 Git :

创建专门放Flutter的文件夹

会打开控制面板:

输入指令:

复制代码
git clone -b oh-3.27.4-dev https://gitcode.com/openharmony-tpc/flutter_flutter.git

下载安装成功:

2.配置环境变量

2.1. 拷贝windows的flutter目录下的bin完整路径

复制代码
F:\Chengxusheji\Flutter\flutter_flutter\bin

2.2. 右键点击此电脑,点击属性,再点击高级系统设置,最后点击环境变量

2.3. 在path路径中添加之前拷贝的bin路径

添加两个环境变量PUB_HOSTED_URLFLUTTER_STORAGE_BASE_URL

复制代码
PUB_HOSTED_URL

https://pub.flutter-io.cn

FLUTTER_STORAGE_BASE_URL

https://storage.flutter-io.cn

配置完成后,一直点击确定:

3.检查Flutter版本

复制代码
flutter --version

4.诊断flutter环境

复制代码
flutter doctor -v

三、创建并编译项目

3.1 创建项目

执行以下命令创建一个项目,<projectName>替换成你自己的项目名

复制代码
flutter create --platforms ohos <projectName>

专门创建一个文件夹保存Flutter鸿蒙项目:

在上面框中输入cmd,接着点击Enter

复制代码
flutter create --platforms ohos flutter_harmonyos

当前Flutter ohos平台中支持impeller-vulkan渲染模式,可通过开关控制是否打开。

开关位于ohos/entry/src/main/resources/rawfile/buildinfo.json5(初次flutter create之后,配置文件位于ohos\entry\src\main\resources\base\profile目录,首次run或build之后会搬移到rawfile目录)

复制代码
{
   "string": [
      {
         "name": "enable_impeller",
         "value": "true"
      }
   ]
}

如果选择关闭impeller渲染,可将json文件中的value改为false。

3.2 构建app

在创建的项目路径下,用powershell执行以下命令构建

复制代码
flutter build app --release

下述输入powershell接着点击 Enter

构建完毕后,会显示以下信息,我们就可以在ohos\build\outputs\default目录下找到未签名的hap包

3.3 打开项目

信任此项目:

打开项目后,开发环境会自动编译依赖,如果报错,请查看之前的步骤是否都完成了

第一次打开,会提示让添加目标sdk版本,选择1:

然后打开build-profile.json5添加自己想要编译到的设备的sdk版本

第一种连接鸿蒙设备

打开终端,执行hdc tconn IP:端口号(IP和端口号,在需要调试的设备上,打开开发者模式,在无线调试页面查看)

没有鸿蒙设备打开模拟器再配置自动签名

3.4 配置自动签名

选择项目结构(Project Structure)

点击Sign In登录配置签名

在网页中点击允许之后会自动刷新配置:

如果出现以下报错,就是你的电脑时间需要校准了

校准完之后,即可签名成功

3.4 编译与启动项目

启动虚拟模拟器,并点击右上角绿色按钮运行如下:

3.5 修改目标设备

默认项目是为手机构建的,假如需要支持电脑和平板端,需要修改一下配置

四、打开已有项目(已有开源项目需要打开时查看此步骤)

以kelivo-ohos这个项目为例。这个项目是一个大模型应用软件适配的鸿蒙版本

GitHub地址:https://github.com/Chevey339/kelivo-ohos

4.1 源码准备

下载好源码之后,我们解压并进入到源码目录,并打开poweshell

4.2 开始编译

执行以下命令进行编译

复制代码
flutter build app --release

出现以下问题代表我们的flutter sdk版本太低了

4.3 升级flutter sdk(可选)

我们访问仓库,看一下最新的发行版版本:

flutter_flutter - GitCodehttps://gitcode.com/openharmony-tpc/flutter_flutter

是3.27版本,我们也看一下分支,然后把原先的flutter_flutter文件夹删了,执行以下命令

复制代码
git clone -b oh-3.27.4-dev https://gitcode.com/openharmony-tpc/flutter_flutter.git

最后打开powershell,执行以下指令检查环境

复制代码
$env:PUB_HOSTED_URL="https://pub.flutter-io.cn" 
$env:FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn" 

flutter doctor -v

显示绿色代表环境正常

升级完成后再次编译

复制代码
flutter build app --release

然后报了找不到image_picker,我们需要从官方适配的库里找一找这个库

4.4 下载flutter_packages库(可选)

从这个网址下载官方适配的库:flutter_packages - GitCodehttps://gitcode.com/openharmony-tpc/flutter_packages下载完后进行解压,将packages文件夹,移动到源码目录下,并命名为flutter_packages

为什么这个命名呢,是从pubspec.yaml文件里看出来的:

然后又报了open_filex错误

经过查找,将这个仓库下载下来

https://gitcode.com/openharmony-sig/fluttertpc_open_filex/tree/br_v4.5.0_ohos

然后解压改名成fluttertpc_open_filex,放到flutter_packages文件夹里

然后还缺一些库,以下简述下载链接和改名,均放在flutter_packages文件夹里

4.5 固定依赖版本

打开源码里的pubspec.yaml,把win32和ffi的版本固定一下。

如果不固定,会默认下载5.13.0版本的win32,而这个版本的win32不再兼容Dart 3.6 会报错

编译完成如下图

4.6 补全build-profile.json5

将以下自动生成的默认build-profile.json5模板,放到源码的ohos中,找到 build-profile.json5(如果没有创建一个build-profile.json5文件),粘贴以下代码

TypeScript 复制代码
{
  "app": {
    "signingConfigs": [],
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "targetSdkVersion": "5.0.0(12)"
      }
    ],
    "buildModeSet": [
      {
        "name": "debug"
      },
      {
        "name": "profile"
      },
      {
        "name": "release"
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ]
}

添加粘贴权限

4.7 添加粘贴权限

默认移植的flutter程序,是没办法粘贴内容的,我们需要添加获取剪切板权限

首先在module.json5配置文件中添加剪切板权限

(注意:有两处"requestPermissions",要加到最下面那个"requestPermissions"里面)

TypeScript 复制代码
{
  "name" : "ohos.permission.READ_PASTEBOARD",
  "reason": "$string:module_desc",
  "usedScene": {
    "abilities": [
      "EntryAbility"
    ],
    "when":"inuse"
  }
}

最后别忘了重新签一下名,获取ACL权限

相关推荐
爱笑的眼睛115 小时前
HarmonyOS运动健康应用开发:构建智能计步器的深度实践
华为·harmonyos
say_fall5 小时前
WinAPI 极简教程:超简单的 Windows 接口入门
c语言·windows
std78795 小时前
华为擎云将发布新一代鸿蒙电脑及鸿蒙电脑企业版 专为企业而生
华为·电脑·harmonyos
忆江南6 小时前
🔥 一句话解释 SNI
flutter
WaterFly6 小时前
Flutter入门概览4-UI入门篇
flutter
未来猫咪花6 小时前
告别卡顿和耗电!view_model 的 Pause 机制如何拯救你的 Flutter 应用
flutter
晨枫阳7 小时前
不同语言数组详解
linux·服务器·windows
爱笑的眼睛117 小时前
深入理解ArkTS装饰器模式在HarmonyOS应用开发中的应用
华为·harmonyos
s***4538 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq