恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Flutter OHOS 更新Flutter插件项目结构
首页
资讯中心
/
Flutter OHOS 更新Flutter插件项目结构
Flutter OHOS 更新Flutter插件项目结构
发布时间:2026/9/9 16:19:11
更新内容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 }fromohos/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 }fromohos/hvigor-ohos-plugin;检查是否可以正常运行使用 DevEco-Studio 打开 integration_test/example, 配置签名。使用命令运行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, statxxx/flutter_flutter/packages/integration_test/ohos/build/default/cache/default/defaultpackageHar/ohos/oh_modules/ohos/flutter_ohos解决方案手动删除报错信息提示的文件。2. operation not permitted, symlink日志信息hvigorERROR:ENOENT: operation not permitted, symlinkxxx/webview_flutter_ohos/ohos/webview_flutter/oh_modules/.ohpm/ohosflutter_ohosfilelibsflutter.har/oh_modules/ohos/flutter_ohos -xxx/webview_flutter_ohos/ohos/build/default/cache/default/defaultPackageHar/webview_flutter/oh_modules/ohos/flutter_ohos解决方案har结构整改前的部分目录在更新代码后需要手动删除例如flutter_packages/packages/webview_flutter_ohos/ohos/webview_flutterflutter_packages/packages/path_provider_ohos/ohos/path_providerflutter_packages/packages/file_selector_ohos/ohos/FileSelector