鸿蒙harmonyos next flutter混合开发之ohos工程引用 har 文件

  • 创建鸿蒙原生工程MyApplication。

  • 创建flutter module,生成har文件,并且将flutter module中.ohos文件entryability/EntryAbility.ets、pages/Index.ets分别替换MyApplication中的。

    1. 创建 flutter子模块工程

    flutter create -t module my_flutter_module

    2. 编译生成 flutter_module.har

    cd my_flutter_module
    flutter build har --debug
    cd -

    3. 复制 EntryAbility.ets 和 Index.ets 到 MyApplication 中

    cp my_flutter_module/.ohos/entry/src/main/ets/entryability/EntryAbility.ets MyApplication/entry/src/main/ets/entryability/EntryAbility.ets
    cp my_flutter_module/.ohos/entry/src/main/ets/pages/Index.ets MyApplication/entry/src/main/ets/pages/Index.ets

  • 将上一步生成的har文件拷贝到原生工程中MyApplication/har/

    cp -r my_flutter_module/.ohos/har/* MyApplication/har/

  • 修改原生工程MyApplication/oh-package.json5,

    {
    "dependencies": {
    "@ohos/flutter_module": "./har/flutter_module.har",
    "@ohos/flutter_ohos": "file:./har/flutter.har"
    },
    "overrides": {
    "@ohos/flutter_ohos": "file:./har/flutter.har"
    }
    }

  • 对原生工程MyApplication进行签名

  • 运行 MyApplication

不知道为什么,这里app在模拟器中运行起来立马闪退。不知道是不是不支持模拟器运行,还是官方bug。运行日志如下,这里截取部分日志,也请知道原因的告知下,谢谢!

复制代码
Device info:emulator
Build info:emulator 5.0.0.65(SP73DEVC00E65R4P11log)
Fingerprint:f997680853fc6a9c5af3acd2878ed5936dc031867c36b8d1f7b42b8980fa8252
Module name:com.example.myapplication
Version:1.0.0
VersionCode:1000000
PreInstalled:No
Foreground:Yes
Timestamp:2024-10-01 20:34:34.447
Pid:17838
Uid:20020054
Process name:com.example.myapplication
Process life time:2s
Reason:Signal:SIGTRAP(TRAP_BRKPT)@0x0000007f96711dd0 
Fault thread info:
Tid:17879, Name:1.raster
#00 pc 00000000023d1dd0 /data/storage/el1/bundle/libs/arm64/libflutter.so(103fd5b90568edc09203e114faebbaedd8f359d3)

官方参考文档:ohos工程 引用 har 文件

相关推荐
喵个咪2 小时前
GoWind ShortPlay 拆解:Flutter 沉浸式 Feed 的播放器工程——生命周期、手势状态机与游客降级
前端·flutter·架构
行走的小派2 小时前
Harmony文件管理子系统实践:纯文本编辑器的大文件加载与编码处理
harmonyos·香橙派·应用开发
hqzing3 小时前
在鸿蒙 PC 上使用 apt 安装 Debian 软件包(非虚拟机、非容器)
华为·debian·harmonyos
Marco_Marco1353 小时前
定位SDK接入实战:Android/iOS/鸿蒙三端怎么选、怎么接
android·ios·harmonyos
思维新观察3 小时前
腕上血压管家登场,华为WATCH D3亮相长城心脏病学大会
华为
梦想不只是梦与想3 小时前
鸿蒙应用:区分真机和模拟器
harmonyos·deviceinfo·productmodel
时间的情敌4 小时前
鸿蒙开发日常随笔|写代码、调真机、踩坑碎碎念
华为·harmonyos
ToDesk_Daas13 小时前
深度适配鸿蒙生态,ToDesk 迎来版本升级,全面优化远程操控体验
华为·harmonyos
贾伟康13 小时前
【化学实验室|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致
harmonyos·arkts·本地存储·arkui·preferences
行者-全栈开发20 小时前
【共创稿事节】HarmonyOS 7 轻量悬浮窗口选型与闪控窗接入:闪控球、闪控窗、系统悬浮窗到底怎么选
harmonyos·鸿蒙·arkui·闪控窗·api 26·选型决策树·闪控球