• Lv0
    粉丝2

积分4974 / 贡献141

提问65答案被采纳6文章44

  • 黄金

    累计积分达到3000分
  • 白银

    累计积分达到1500分
  • 青铜

    累计积分达到500分
  • 文章达人

    月贡献文章累计达10篇以上
作者动态

[经验分享] Harmony,满天星光,共赴璀璨星河

admin 企业号 显示全部楼层 发表于 2024-7-9 15:28:13
Flutter Love Harmony - 掘金 (juejin.cn)
不是 Harmony ArkUI 不会写,而是 Flutter 更有性价比 - 掘金 (juejin.cn)
Flutter Harmony 化 在一起 就可以 - 掘金 (juejin.cn)
Flutter 到 Harmony,不是有手就行吗? (下拉刷新) - 掘金 (juejin.cn)
Flutter 到 Harmony,不是有手就行吗? (列表加载更多) - 掘金 (juejin.cn)
Flutter 到 Harmony,不是有手就行吗? (仿掘金点赞按钮) - 掘金 (juejin.cn)
前言
DM_20240704093400_001.JPG

DM_20240704093400_002.JPG

随着 HDC 2024 的结束,Harmony Next 正式对个人开发者开放,个人开发者终于能够更简单地加入到 Harmony Next 的体验中。(之前只有少数个人开发者能加入到预览中 华为纯血 Harmony HarmonyOS NEXT 开发者预览版首批 Beta 招募开启,支持 Mate 60 / Pro、X5 机型)。

最新工具 - 下载中心 - 华为开发者联盟 (huawei.com)

DevEco Studio NEXT Developer Beta1

面向 HarmonyOS 应用及元服务开发者提供的集成开发环境(IDE),助力高效开发。

Build Version 5.0.3.403 发布日期 2024/06/21

真机和模拟器的区别
这一次除了开放下载 DevEco Studio Next 版本,还开放了模拟器下载,(当然,需要去申请一下,很快就会通过),那么真机和模拟器有什么区别呢?

模拟器与真机的差异-概述-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio | 华为开发者联盟 (huawei.com)

在 ui 层面,主要是一些效果,比如阴影或者 3d 效果的缺失。这里提前说这个,是因为后面要考。

DM_20240704093400_003.JPG

Harmony 玩家
如果你是一个 Harmony 开发者,就比较简单了,直接到 最新工具 - 下载中心 - 华为开发者联盟 (huawei.com) 下载符合你的设备的 DevEco Studio。

如果你第一次玩,需要创建一个华为开发者账号,后续需要用到。比如如果你使用真机,需要登录账号签名。比如你下载模拟器,需要登录账号,去申请模拟器下载权限。

DM_20240704093400_004.JPG

点击链接,申请模拟器下载权限。

怎么编写 Harmony 应用,我这里不展开写了。大家可以查看下面的文章了解更多的信息。

Flutter 到 Harmony,不是有手就行吗? (下拉刷新) - 掘金 (juejin.cn)
Flutter 到 Harmony,不是有手就行吗? (列表加载更多) - 掘金 (juejin.cn)
Flutter 到 Harmony,不是有手就行吗? (仿掘金点赞按钮) - 掘金 (juejin.cn)
欢迎大家使用 HarmonyCandies 提供的 Harmony 组件,欢迎加入 HarmonyCandies (github.com)。

DM_20240704093400_005.JPG

Flutter Harmony 化玩家
作为 Flutter Harmony 化的玩家,你没有阅读过下面的文章,也没有关系。 OpenHarmony-SIG/flutter_flutter (gitee.com) Harmony 化社区更新很快,之前文章里面的一些信息已经失效。

Flutter Love Harmony - 掘金 (juejin.cn)
不是 Harmony ArkUI 不会写,而是 Flutter 更有性价比 - 掘金 (juejin.cn)
Flutter Harmony 化 在一起 就可以 - 掘金 (juejin.cn)
后续内容全部基于 OpenHarmony-SIG/flutter_flutter (gitee.com) 和 OpenHarmony-SIG/flutter_engine (gitee.com) 的 dev 分支。参考文档也以 dev 分支 的文档为准。另外最新支持的是 ohos api12 。

下面基于最新的社区进度,主要讲一下环境和一些注意事项。

Mac
Mac 分 X86 和 ARM 芯片的。注意,由于目前 Flutter for Harmony 暂时不支持 x86_x64 架构,在 X86 芯片的 Mac 上面,你只能用真机开发。ARM 芯片(即 M1,M2,M3,M4) 可以使用模拟器。

Windows
注意,由于目前 Flutter for Harmony 暂时不支持 x86_x64 架构,所以 Windows 上面你只能使用真机进行开发。

模拟器真机差异
前面说了模拟器与真机之间是有差异的,这导致 Flutter 在 Harmony 模拟器中,可能某些组件 API  不能使用。

模拟器与真机的差异-概述-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio | 华为开发者联盟 (huawei.com)

DM_20240704093400_003.JPG

比如说 FloatingActionButton 包含阴影效果,就没法在模拟器中使用,会导致闪退。上图相关的 API 我们都要注意一下。

可以的话,做 Flutter Harmony 化最好是使用真机。

环境配置
准备工作
下载适配 Harmony 的 flutter sdk
git clone -b dev git@gitee.com:openharmony-sig/flutter_flutter.git

下载 DevEco-Studio 最新工具 - 下载中心 - 华为开发者联盟 (huawei.com)
Mac 和 Linux
设置环境变量
我的 Harmony 相关的内容是放在 /Users/zmtzawqlp/Documents/ohos/flutter/flutter_flutter 中的。

export PATH=/Users/zmtzawqlp/Documents/ohos/flutter/flutter_flutter/bin:$PATH
export PATH=/Users/zmtzawqlp/Documents/ohos/flutter/flutter_flutter/bin/cache/dart-sdk/bin:$PATH

# ohos
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin
​
Windows
去环境变量中添加,下面的键值对。
DM_20240704093400_006.JPG
DM_20240704093400_007.JPG

去环境变量 PATH 中添加,下面的路径
DM_20240704093400_008.JPG

以及 flutter 和 dart 的路径,这里就不截图了。

引擎编译
目前,社区已经支持自动下载最新的线上引擎,所以对于不追求引擎代码随时最新的玩家,这部分内容可以跳过。

环境准备
构建的基础配置请查考: flutter/docs/engine/contributing/Setting-up-the-Engine-development-environment.md at master · flutter/flutter (github.com)

编译问题
python 版本

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  开发者论坛   |技术支持 Discuz!

返回顶部