Flutter开发HarmonyOS鸿蒙Next应用的时候flutter引擎加载多so问题如何解决

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 Flutter

Flutter开发HarmonyOS鸿蒙Next应用的时候flutter引擎加载多so问题如何解决
我们项目目前遇到个flutter多so问题,因一些特殊原因我们项目和供应商的flutter代码分别开发维护打包,我们也针对flutterEngine源码做了一些研究,修改了so的名称进行多次引擎的初始化来实现多份flutter代码打出的so加载。 最新的flutter_flutter更新中,FlutterNapi.init中禁止了多次初始化,在FlutterNapi.hasInit为true后再次init时做了return。输入图片说明

请问这样做是有因为有什么隐患吗?我们项目这种需求应该如何实现?

1 回复

在Flutter开发HarmonyOS鸿蒙Next应用时,遇到flutter引擎加载多so(共享对象)问题,可以尝试以下解决方案:

  1. 检查引擎版本兼容性

    • 确保你使用的Flutter引擎版本与HarmonyOS鸿蒙Next系统兼容。
    • 更新Flutter SDK到最新版本,或至少是与鸿蒙系统兼容的稳定版本。
  2. 优化so库管理

    • 检查项目中是否有不必要的so库重复引用,进行清理。
    • 确保所有so库都已正确配置在项目的lib目录下。
  3. 解决库间调用冲突

    • 如果遇到libuv.so调用libflutter.so崩溃的问题,可能是引擎释放后的IO回调问题。
    • 检查并优化涉及libuv和libflutter调用的代码,确保在引擎释放前正确完成所有回调处理。
  4. 查看和分析日志

    • 仔细分析崩溃日志,查找可能的错误代码和调用堆栈。
    • 使用日志信息定位问题源头,进行针对性修复。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部