news 2026/9/9 16:19:07

Flutter OHOS 更新Flutter插件项目结构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flutter OHOS 更新Flutter插件项目结构

更新内容

  • flutter插件项目中的ohos目录,将从OpenHarmony工程project结构,替换为OpenHarmony工程module结构。
  • flutter工程中引用的har文件,统一放到 ohos/har 目录下。
  • 更新后需要删除ohos插件中的旧模块目录。

更新步骤

flutter_flutter中的 integration_test 为例的更新步骤如下:

1. integration_test/ohos 目录由 project 结构修改为 module 结构

💡 注意:以下命令默认在类 Unix 环境(Linux/macOS)下运行。Windows 用户请使用 WSL 或自行适配 PowerShell 命令。

cdflutter_flutter/packages/integration_testmvohos/ohos ./ohos2rm-rfohosmvohos2 ohoscdexample flutter pub get flutter build hap--debug

执行flutter run后会出现报错,需要修改配置文件中的name字段,还需要修改 hvigorfile.ts。

2. 代码更新

2.1 修改 integration_test/ohos/oh-package.json5

修改前:

{"name":"ohos","version":"1.0.0","description":"Please describe the basic information.","main":"","author":"","license":"","dependencies": { },"devDependencies": {"@ohos/hypium":"1.0.11"} }

修改后:

{"name":"integration_test",//和插件名(pubspec.yaml中的name)保持一致"version":"1.0.0","description":"Please describe the basic information.","main":"","author":"","license":"Apache-2.0","dependencies": {"@ohos/flutter_ohos":"file:har/flutter.har", } }
2.2 修改 integration_test/ohos/src/main/module.json5

修改前:

{"module": {"name":"ohos","type":"har","deviceTypes": ["default","tablet","2in1"] } }

修改后:

{"module": {"name":"integration_test",//和插件名(pubspec.yaml中的name)保持一致"type":"har","deviceTypes": ["default","tablet","2in1"] } }
2.3 修改 integration_test/ohos/hvigorfile.ts

修改前:

import{ appTasks }from'@ohos/hvigor-ohos-plugin'; exportdefault{system: appTasks,/* Built-in plugin of Hvigor. It cannot be modified. */plugins:[]/* Custom plugin to extend the functionality of Hvigor. */}

修改后:

export{ harTasks }from'@ohos/hvigor-ohos-plugin';

检查是否可以正常运行

  1. 使用 DevEco-Studio 打开 integration_test/example, 配置签名。
  2. 使用命令运行example。
cdintegration_test/example flutter run -d$DEVICE--debug

运行OpenHarmony应用时,需要注意配置文件中 har文件 的引用

引用的har文件在 ohos/har 目录下。

integration_test/example/ohos/oh-package.json5

修改后:

{//..."dependencies": {"@ohos/flutter_ohos":"file:./har/flutter.har"},"overrides": {"@ohos/flutter_ohos":"file:./har/flutter.har"} }
integration_test/example/ohos/entry/oh-package.json5

修改前

{//..."dependencies": {"@ohos/integration_test":"file:./har/integration_test.har", } }

修改后

{//..."dependencies": {"integration_test":"file:../har/integration_test.har", } }

可能遇到的问题

1. no such file or directory

日志信息:

hvigorERROR:ENOENT: no such file or directory, stat'xxx/flutter_flutter/packages/integration_test/ohos/build/default/cache/default/default@packageHar/ohos/oh_modules/@ohos/flutter_ohos'

解决方案:

手动删除报错信息提示的文件。

2. operation not permitted, symlink

日志信息:

hvigorERROR:ENOENT: operation not permitted, symlink'xxx/webview_flutter_ohos/ohos/webview_flutter/oh_modules/.ohpm/@ohos+flutter_ohos@file+libs+flutter.har/oh_modules/@ohos/flutter_ohos' ->'xxx/webview_flutter_ohos/ohos/build/default/cache/default/default@PackageHar/webview_flutter/oh_modules/@ohos/flutter_ohos'

解决方案:

har结构整改前的部分目录,在更新代码后需要手动删除,例如

  1. flutter_packages/packages/webview_flutter_ohos/ohos/webview_flutter
  2. flutter_packages/packages/path_provider_ohos/ohos/path_provider
  3. flutter_packages/packages/file_selector_ohos/ohos/FileSelector
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 16:19:05

C11与C99混用编译导致嵌入式崩溃:ABI与结构体布局排查指南

上个月排查一个嵌入式网关的崩溃问题,前前后后折腾了三天。现象很诡异:同一份源代码,在 x86 的开发板上跑得稳稳当当,交叉编译到 ARM 目标板上一启动就随机死,多跑几次还会出“corrupted double-linked list”这类让人…

作者头像 李华
网站建设 2026/9/9 16:19:04

深度学习图像分类入门:从环境搭建到CNN实战

简介:一份适合初学者上手的深度学习图像分类教程,基于Python 2.7与PyTorch 0.4.1实现,面向遥感图像分类等入门任务。整个项目以包含21个类别、每类100张图像的纯净遥感数据集为基础,按8:2比例随机划分训练集与验证集,并…

作者头像 李华
网站建设 2026/9/9 16:17:38

JAVA毕设选题推荐:面向企业办公场景的知识产权管理系统设计与技术实现 Vue可视化前端结合SpringBoot后端的知识产权管控系统研发【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/9 16:17:23

CentOS7下Mosquitto MQTT Broker从安装到生产部署全攻略

装了无数次mosquitto之后,我总算把CentOS7上那点坑全摸清了。很多人觉得这玩意儿简单, yum install mosquitto 敲完就完事,结果服务起不来、客户端连不上、配置改了没反应、日志还一片空白。这篇我就从换源开始,把CentOS7上安装…

作者头像 李华
网站建设 2026/9/9 16:16:53

humanizer技能:让AI文本真正像真人说话的四大支柱

1. 这不是“拟人化”工具,而是一套让AI输出真正像人说话的实战方法论最近在多个技术社区、内容创作群和产品团队内部讨论里,“humanizer”这个词出现频率陡增,几乎成了内容安全审核、用户留存优化、AIGC合规落地场景下的高频暗语。它不指某个…

作者头像 李华