鸿蒙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 文件

相关推荐
程序猿阿伟6 分钟前
《探秘鸿蒙Next:非结构化数据处理与模型轻量化的完美适配》
华为·harmonyos
恋猫de小郭1 小时前
深入 Flutter 和 Compose 的 PlatformView 实现对比,它们是如何接入平台控件
flutter
HarmonyOS_SDK2 小时前
巧用多目标识别能力,帮助应用实现智能化图片解析
harmonyos
allanGold4 小时前
【flutter版本升级】【Nativeshell适配】nativeshell需要做哪些更改
flutter·nativeshell
TS_forever0076 小时前
【华为路由的arp配置】
网络·华为
昆仑道长7 小时前
ARM64平台Flutter环境搭建
flutter
sunly_7 小时前
Flutter:自定义Tab切换,订单列表页tab,tab吸顶
开发语言·javascript·flutter
2401_897907867 小时前
10天学会flutter DAY2 玩转dart 类
android·flutter
前端没钱7 小时前
flutter入门系列教程<一>:tab组件的灵活妙用
flutter
前端没钱10 小时前
flutter入门系列教程<2>:Http请求库-dio的使用
网络协议·flutter·http