HarmonyOS鸿蒙Next中Flutter适配运行应用崩溃

HarmonyOS鸿蒙Next中Flutter适配运行应用崩溃 我的项目增加鸿蒙系统适配,打包成功也安装到鸿蒙系统模拟器,打开应用直接崩溃了,崩溃日志如下: Reason:TypeError

Error name:TypeError

Error message:Cannot read property nativeInit of undefined

Stacktrace:

    at init (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/engine/FlutterNapi.ets:94:39)

    at ensureInitializationComplete (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/engine/loader/FlutterLoader.ets:268:22)

    at checkLoader (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/engine/FlutterEngineGroup.ets:36:14)

    at setupFlutterEngine (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/ohos/FlutterAbilityAndEntryDelegate.ets:224:13)

    at onAttach (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/ohos/FlutterAbilityAndEntryDelegate.ets:69:12)

    at onCreate (oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/ohos/FlutterAbility.ets:78:21)

通过debug发现ohos/oh_modules/.ohpm/@ohos+flutter_ohos@+zkf5mumyln2abkv0e7vx6zudjnqpu6vskfy6prz6cs=/oh_modules/@ohos/flutter_ohos/src/main/ets/embedding/engine/FlutterNapi.ets中

import flutter from 'libflutter.so';

这一行导入flutter失败从而导致运行到FlutterNapi.ets的94行报空指针了

cke_8933.png

有人遇到这个问题吗?


更多关于HarmonyOS鸿蒙Next中Flutter适配运行应用崩溃的实战教程也可以访问 https://www.itying.com/category-92-b0.html

10 回复

这边使用过真机测试会闪退吗吗?模拟器如果用了不支持的特性,也会闪退。

如果真机测试还是会闪退,麻烦提供小可复现的demo,现在使用的flutter版本和相关hilog日志。

更多关于HarmonyOS鸿蒙Next中Flutter适配运行应用崩溃的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


libflutter.so是 Flutter 引擎的核心原生库,鸿蒙系统上运行 Flutter 应用必须正确加载该库。导入失败通常由 3 类问题导致:

  1. 库文件缺失:打包时未将libflutter.so包含到 APK 中;
  2. 架构不匹配libflutter.so的 CPU 架构(如 arm64-v8a、x86_64)与运行设备(模拟器 / 真机)不兼容;
  3. 适配插件问题flutter_ohos插件版本与 Flutter 引擎、鸿蒙 SDK 不兼容,导致库加载逻辑失效。

清一下缓存,重启一下模拟器

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

缓存清理、重启模拟器都试过好多次了,还是不行,我打算用真机试一试。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

我记得有个指令 flutter clean​这个用了没,

Flutter的鸿蒙项目建议使用真机进行安装调试,模拟器目前尚未完全比拟真机。

没有遇到

在HarmonyOS Next中,Flutter应用崩溃通常由平台适配问题导致。Flutter尚未官方支持鸿蒙Next,需检查Flutter SDK版本与鸿蒙系统兼容性。常见原因为Skia图形库与鸿蒙图形子系统不兼容,或平台通道调用鸿蒙API时出现异常。建议排查Flutter引擎初始化过程,确保鸿蒙特定接口正确实现。可尝试使用鸿蒙原生开发替代Flutter跨平台方案。

根据崩溃日志,问题出现在 FlutterNapi.ets 第94行,原因是 nativeInit 属性读取失败,提示 undefined。这通常是由于 libflutter.so 库未能正确导入或加载导致的。

可能的原因和解决方案:

  1. 库文件缺失或路径错误:确认 libflutter.so 已正确打包到应用中,且路径与导入语句一致。检查 build-profile.json 中的依赖配置,确保 flutter_ohos 版本兼容且完整。
  2. NDK 兼容性问题:HarmonyOS Next 对原生库的加载机制可能与原有系统存在差异。检查 libflutter.so 是否针对 HarmonyOS Next 架构(如 ARM64)编译,并验证其依赖项是否完整。
  3. 初始化时序错误:在 FlutterEngine 初始化前,确保原生模块已就绪。可尝试在 onCreate 阶段显式调用 flutter.initialize() 或延迟引擎启动。
  4. 环境配置问题:清理项目缓存(删除 oh_modulesbuild 目录),重新执行 ohpm install 并重建项目。同时确认 DevEco Studio 和 Flutter 插件均为支持 HarmonyOS Next 的最新版本。

建议优先检查原生库的集成状态,并验证模拟器/设备的系统镜像版本是否与 Flutter 适配层兼容。

回到顶部