OpenHarmony开发者论坛

标题: Flutter适配OpenHarmony方案预研——创建(下) [打印本页]

作者: 诚迈-陆志刚    时间: 2025-1-14 15:06
标题: Flutter适配OpenHarmony方案预研——创建(下)
Flutter适配OpenHarmony方案预研——创建(下)

(文章已获得诚迈科技资深研发工程师-廖锦锐授权)

前文链接:Flutter适配OpenHarmony方案预研——创建(上) - 文章 OpenHarmony开发者论坛

下载支持OpenHarmony的Flutter版本,仓库链接 https://gitee.com/openharmony-sig/flutter_flutter

下载支持OpenHarmony的flutter sdk,master分支相对稳定,dev不断在更新相比master拥有更多功能,下面是dev分支的clone命令

git clone -b dev git@gitee.com:openharmony-sig/flutter_flutter.git

完成后在环境变量用户变量path中添加对应下载路径D:\ohosflutter\flutter_flutter\bin  

下载jdk17并配置环境变量

JAVA_HOME = <JAVA_HOME path>

PATH=%JAVA_HOME%\bin

下载git在环境变量用户变量path中添加D:\application\Git\bin\cmd

配置flutter 国内镜像

在用户变量 新建flutter的国内镜像的变量名和变量值



配置HarmonyOS SDK和环境变量,我的电脑-属性-高级系统设置-环境变量-用户变量

点击新建 -输入对应的变量名和变量值-注意路径不要用空格


在对应的Deveco_Stdio安装路径下,环境变量中的用户变量path变量中追加 Node,ophm ,hvigor,hdc指令(可选)的路径


验证是否正确配置

1、打开cmd命令行窗口,输入flutter doctor –v

2、运行后,正确配置效果如图。确保flutter和HarmonyOS配置成功


创建工程 方式一 该方式只创建了ohos平台

flutter create --platforms ohos <projectName>

创建工程 方式二 该方式创建了移动端和桌面端的平台

flutter create  <projectName>


下载FlutterEngine构建产物(非必选项,不指定--local engine,默认是用云端的引擎)

Flutter工程构建依赖ohos_debug_unopt_arm64与ohos_release_arm64

FlutterTools指令运行参数中添加--local-engine字段来指定下载的engine:--local-engine=src/out/<engine产物目录\> ,

若不使用--local-engine来指定engine,默认使用云端最新版engine。 使用示例:

flutter build hap [--local-engine=/Users/admin/Documents/flutter_engine/src/out/ohos_debug_unopt_arm64]

下载编译产物(https://docs.qq.com/sheet/DUnljRVBYUWZKZEtF?tab=BB08J2

engine本地路径必须带上src/out目录; 解压后,存放到一个目录(engine本地路径必须需带上src/out目录):

如:/Users/admin/Documents/flutter_engine/src/out

编译hap包

进入工程根目录编译hap包(可选release,debug,profile三个版本)

flutter build hap –release

编译产物路径

${projectName}/ohos/entry/build/default/outputs/default/entry-default-signed.hap

OpenHarmony真机运行Flutter项目

方式一

安装应用 hdc install [-r|-s] src ( src为应用安装包的文件名,具体到全路径)

hdc install D:\ohtest\flutter_ohos_demo\ohos\entry\build\default\outputs\default\entry-default-signed.hap

方式二

使用DevEcoStudio 选择设备为真机,在此之前需要在手机打开开发者选项,连接到手机后,点击启动。







欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5