Flutter-OH 3.35.7 环境配置与构建指南

Flutter-OH 3.35.7 环境配置与构建指南

Flutter-OH 3.35.7 现已正式更新,其适配 OpenHarmony 的开发分支 oh-3.35.7-dev 处于持续迭代状态,会每日进行 bug 修复与功能优化。

📌 版本信息 :查看最新更新日志:release-notes

环境配置

开发系统支持

Flutter Tools指令目前已支持在Linux、Mac和Windows下使用。

HarmonyOS SDK 配置

请从鸿蒙SDK下载配套开发工具

  • API20, DevEco Studio 6.0.2 Release 或 Command Line Tools 6.0.2 Release
  • 配置 Java17
  • 配置环境变量 (SDK, node, ohpm, hvigor)
Mac/Linux 环境
sh 复制代码
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents
export DEVECO_SDK_HOME=$TOOL_HOME/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH
export PATH=$TOOL_HOME/tools/node/bin:$PATH
Windows 环境

使用 PowerShell:

powershell 复制代码
$env:TOOL_HOME="C:\Users\你的用户名\AppData\Local\Huawei\Sdk"
$env:DEVECO_SDK_HOME="$env:TOOL_HOME\sdk"
$env:PATH="$env:TOOL_HOME\tools\ohpm\bin;$env:PATH"
$env:PATH="$env:TOOL_HOME\tools\hvigor\bin;$env:PATH"
$env:PATH="$env:TOOL_HOME\tools\node\bin;$env:PATH"

使用 CMD:

cmd 复制代码
set TOOL_HOME=C:\Users\你的用户名\AppData\Local\Huawei\Sdk
set DEVECO_SDK_HOME=%TOOL_HOME%\sdk
set PATH=%TOOL_HOME%\tools\ohpm\bin;%PATH%
set PATH=%TOOL_HOME%\tools\hvigor\bin;%PATH%
set PATH=%TOOL_HOME%\tools\node\bin;%PATH%

注意 :Windows环境下,如果使用DevEco Studio安装,SDK路径通常在 C:\Users\你的用户名\AppData\Local\Huawei\Sdk。如果使用command-line-tools,请根据实际安装路径调整。

Flutter 仓库配置

通过代码工具下载当前仓库代码,指定 oh-3.35.7-dev 分支:

Mac/Linux 环境
sh 复制代码
git clone https://gitcode.com/openharmony-tpc/flutter_flutter.git
cd flutter_flutter
git checkout oh-3.35.7-dev

export PUB_CACHE=$HOME/.pub-cache
export PATH=你的flutter_flutter路径/bin:$PATH
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
Windows 环境

使用 PowerShell:

powershell 复制代码
git clone https://gitcode.com/openharmony-tpc/flutter_flutter.git
cd flutter_flutter
git checkout oh-3.35.7-dev

$env:PUB_CACHE="$env:USERPROFILE\.pub-cache"
$env:PATH="你的flutter_flutter路径\bin;$env:PATH"
$env:PUB_HOSTED_URL="https://pub.flutter-io.cn"
$env:FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

使用 CMD:

cmd 复制代码
git clone https://gitcode.com/openharmony-tpc/flutter_flutter.git
cd flutter_flutter
git checkout oh-3.35.7-dev

set PUB_CACHE=%USERPROFILE%\.pub-cache
set PATH=你的flutter_flutter路径\bin;%PATH%
set PUB_HOSTED_URL=https://pub.flutter-io.cn
set FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

提示:Windows环境下,也可以使用Git Bash,命令与Mac/Linux相同。
💡 重要提示 :由于 oh-3.35.7-dev 是开发分支 ,官方会每日进行bug修复、问题优化,建议每次开发前/定期 在 flutter_flutter 目录下执行 git pull 同步仓库最新更新。

Engine 构建产物配置

应用构建依赖 Flutter engine 构建产物与 engine host,默认从云端获取。也可以手工指定本地构建产物:

使用示例:

bash 复制代码
--local-engine=src/out/engine产物目录 --local-engine-host=src/out/host产物目录

构建产物目录说明:

  • Engine产物 :ohos_debug_arm64、ohos_release_arm64、ohos_profile_arm64
  • Engine Host产物 :host_debug、host_release、host_profile

构建步骤

1. 环境检查

运行 flutter doctor -v 检查环境变量配置是否正确,Flutter 与OpenHarmony应都为ok标识。

2. 创建工程

Mac/Linux:

bash 复制代码
# 创建工程
flutter create --platforms ohos 你的项目名称

# 编译命令(选择一种构建模式)
flutter build hap --target-platform ohos-arm64 --debug
flutter build hap --target-platform ohos-arm64 --release
flutter build hap --target-platform ohos-arm64 --profile

# 使用本地engine(可选)
flutter build hap --target-platform ohos-arm64 --release \
  --local-engine=src/out/ohos_release_arm64 \
  --local-engine-host=src/out/host_release

Windows:

powershell 复制代码
# 创建工程
flutter create --platforms ohos 你的项目名称

# 编译命令(选择一种构建模式)
flutter build hap --target-platform ohos-arm64 --debug
flutter build hap --target-platform ohos-arm64 --release
flutter build hap --target-platform ohos-arm64 --profile

# 使用本地engine(可选)
flutter build hap --target-platform ohos-arm64 --release `
  --local-engine=src/out/ohos_release_arm64 `
  --local-engine-host=src/out/host_release

编译产物位置:

  • Mac/Linux: 你的项目名称/ohos/entry/build/default/outputs/default/entry-default-signed.hap
  • Windows: 你的项目名称\ohos\entry\build\default\outputs\default\entry-default-signed.hap

3. Impeller 渲染开关

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

开关位于 ohos/entry/src/main/resources/rawfile/buildinfo.json5 文件中,文件内容如下:

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

说明:

  • 新建工程默认打开impeller选项
  • 对于旧工程,可将以上 buildinfo.json5 文件复制到工程目录的对应路径下(rawfile目录),并修改 value 值即可实现开关功能
  • 设置为 "true" 启用impeller渲染,设置为 "false" 禁用

4. 安装与运行

通过 flutter devices 指令发现ohos设备之后,使用以下命令安装:

Mac/Linux:

bash 复制代码
# 安装HAP文件
hdc -t 设备ID install HAP文件路径

# 或直接运行(推荐)
flutter run --debug -d 设备ID

# 使用本地engine运行(可选)
flutter run --debug \
  --local-engine=你的路径/src/out/ohos_debug_unopt_arm64 \
  --local-engine-host=你的路径/src/out/host_debug_unopt \
  -d 设备ID

Windows:

powershell 复制代码
# 安装HAP文件(路径使用正斜杠或反斜杠均可)
hdc -t 设备ID install HAP文件路径

# 或直接运行(推荐)
flutter run --debug -d 设备ID

# 使用本地engine运行(可选)
flutter run --debug `
  --local-engine=你的路径/src/out/ohos_debug_unopt_arm64 `
  --local-engine-host=你的路径/src/out/host_debug_unopt `
  -d 设备ID

注意 :Windows PowerShell使用反引号 ````` 作为行继续符,CMD和Git Bash使用反斜杠 \。

5. 构建 App 包

Mac/Linux:

bash 复制代码
# 构建App包
flutter build app --release

# 使用本地engine构建(可选)
flutter build app --release \
  --local-engine=你的路径/src/out/ohos_release_arm64 \
  --local-engine-host=你的路径/src/out/host_release

Windows:

powershell 复制代码
# 构建App包
flutter build app --release

# 使用本地engine构建(可选)
flutter build app --release `
  --local-engine=你的路径/src/out/ohos_release_arm64 `
  --local-engine-host=你的路径/src/out/host_release

已兼容 OpenHarmony 开发的指令列表

指令名称 指令描述 使用说明
doctor 环境检测 flutter doctor
config 环境配置 flutter config --配置项 配置值
create 创建新项目 flutter create --platforms ohos,android,ios --org 组织名 应用名称
create 创建module模板 flutter create -t module 模块名称
create 创建plugin模板 flutter create -t plugin --platforms ohos,android,ios 插件名称
create 创建plugin_ffi模板 flutter create -t plugin_ffi --platforms ohos,android,ios 插件名称
devices 已连接设备查找 flutter devices
install 应用安装 flutter install -t 设备ID HAP文件路径
assemble 资源打包 flutter assemble
build 测试应用构建 flutter build hap --debug --target-platform ohos-arm64
build 正式应用构建 flutter build hap --release --target-platform ohos-arm64
run 应用运行 flutter run -d 设备ID
attach 调试模式 flutter attach
screenshot 截屏 flutter screenshot
pub 获取依赖 flutter pub get
clean 清除项目依赖 flutter clean
cache 清除全局缓存数据 flutter pub cache clean

参考资源

相关推荐
恋猫de小郭20 小时前
Android CLI 支持 AI Agent 通过 Device Streaming 调试云真机
android·前端·flutter
m0_738185822 天前
Flutter 鸿蒙化实战:flutter_scankit 适配 OpenHarmony,华为 ScanKit 扫码
flutter·华为·harmonyos·鸿蒙
事圆则缓2 天前
Flutter 开发鸿蒙实战:从 OpenHarmony 适配版到 HAP 构建与插件接入
flutter·华为·harmonyos
天空之城--2 天前
Android一周动态:Android 18首次官宣、Compose Material3 1.4转正(5趋势+5资讯)
android·人工智能·flutter·架构·android jetpack
恋猫de小郭2 天前
Meta 分享怎么用 AI 迁移 Compose 项目不烧心
android·前端·flutter
EatFan2 天前
Flutter 鸿蒙适配实践 2026:从环境搭建、混合渲染到 OpenTelemetry 性能基建
flutter·华为·harmonyos·openharmony·opentelemetry·鸿蒙适配·impeller
m0_738185822 天前
Flutter 鸿蒙化实战:flutter_secure_storage 适配 OpenHarmony,敏感数据安全存储
安全·flutter·华为·harmonyos·鸿蒙
传奇开心果编程3 天前
【现代声明式UI学与练】第1课 从命令式UI到声明式UI
学习·flutter·ui·swiftui·react·android jetpack
m0_738185823 天前
Flutter 鸿蒙化实战:flutter_nfc_kit 适配 OpenHarmony,NFC 读写一步到位
flutter·华为·harmonyos·鸿蒙
恋猫de小郭3 天前
KMP 又改了编译流程, Separate Compilation 禁止了 `commonMain` 的依赖穿透
android·前端·flutter