Flutter开发HarmonyOS鸿蒙Next应用的时候flutter引擎加载多so问题如何解决
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(共享对象)问题,可以尝试以下解决方案:
-
检查引擎版本兼容性:
- 确保你使用的Flutter引擎版本与HarmonyOS鸿蒙Next系统兼容。
- 更新Flutter SDK到最新版本,或至少是与鸿蒙系统兼容的稳定版本。
-
优化so库管理:
- 检查项目中是否有不必要的so库重复引用,进行清理。
- 确保所有so库都已正确配置在项目的lib目录下。
-
解决库间调用冲突:
- 如果遇到libuv.so调用libflutter.so崩溃的问题,可能是引擎释放后的IO回调问题。
- 检查并优化涉及libuv和libflutter调用的代码,确保在引擎释放前正确完成所有回调处理。
-
查看和分析日志:
- 仔细分析崩溃日志,查找可能的错误代码和调用堆栈。
- 使用日志信息定位问题源头,进行针对性修复。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。