美文网首页
鸿蒙 next flutter 适配

鸿蒙 next flutter 适配

作者: Mob_Developer | 来源:发表于2024-08-13 12:20 被阅读0次

完全不懂鸿蒙开发,但是花了 4 天时间完成了鸿蒙 flutter 适配,整体还是非常顺利的。粗糙的总结一下。

环境搭建

这里没啥说的,跟着 OpenHarmony-SIG/flutter_flutter 文档里的步骤操作就可以。

版本适配

开发中的项目,一般都是追着最新的 flutter SDK和第三方库升级的。但是鸿蒙 flutter 目前仅支持 flutter sdk 3.7.12, dart sdk 2.19.6。面临的第一个问题就是版本降级。大部分是 dart sdk 的版本限制,较少的是 flutter sdk 版本限制。

  • dart sdk 适配

dart 版本限制如果没有头绪还是很难处理的,那凑巧我发现在 pub.dev 的每个库都列出了 dart sdk 对应的库版本。然后在项目的 pubspec.yaml 中设置为可兼容的版本即可。

compat dart sdk table
  • flutter sdk 适配
    如果第三方库中有下面的限制,执行 flutter pub get 的时候也会出现版本不兼容错误。
    environment:
     flutter: '>=3.20.0'
    
    如果出现 flutter sdk 限制,因为没有对应的参照表可以参考,所以会麻烦一些。不过有个笨点的方法。
    pub.dev 进入到 git 仓库。查看库的 pubspec.yaml 文件的历史纪录,找到兼容 flutter 3.7.12 的版本。
pub git repository entry pub pubspec.yaml location image.png image.png

上图中一个个看直到找到兼容 flutter sdk 版本。讨巧的方法是,看 flutter 3.7.12 发布之后相近的时间去找。

  • 第三方库版本冲突适配
    当多个库引用了不同同一个库的不同版本,对 dart sdk 版本不兼容时,会出现库冲突。解决办法是在pubspec.yaml 中的 dependency_overrides 强制锁定版本。

经过以上步骤,基本已经解决了大部分版本冲突问题。

  • 鸿蒙平台库适配

当引入了和平台交互的库时,第一时间是看鸿蒙是否已经做了适配,请看 - Flutter三方库适配计划, 在这个文档中已经实现的,是可以直接替换之前引用的库的。

如果鸿蒙没有适配就只有四种方案了,等官方适配、是否有其他人适配、自己适配、注释掉相关代码启用相关功能。

  • 代码适配

因为 sdk 版本降级,可能会出现一些功能在旧版本不可用的情况,这部分一般会在过程的 Problems 中报错,很容找到。根据实际情况去修改代码解决。

  • 插件、module 适配

没时间写了,暂时按住不表。可以参考 [其他] 部分的文档。

经过以上步骤基本上,基本已经实现了版本匹配的大部分问题。

其他

在使用的时候,可以感觉到鸿蒙在 flutter 上确实做的挺不错的。感觉不足的是,文档整理方面不够硬。尤其鸿蒙相关的资料就比较少,官方文档做了,入口却很难找,其实挺吃亏的。

image.png

原创文章,转载请标明出处。技术相关可私信咨询。

相关文章

网友评论

      本文标题:鸿蒙 next flutter 适配

      本文链接:https://www.haomeiwen.com/subject/nsqjkjtx.html