Flutter开发笔记 —— 兼容HarmonyNext系统应用实战

前言

最近在日常的开发工作中遇到了需要兼容HarmonyNext系统上的任务,后续根据查阅相关资料以及自己的花费一定时间踩坑,特地写下本文章已做记录,希望对你们有帮助。

开发环境

操作系统:Ubuntu Linux x64 和 MacOS(用来安装DevEco-Studio,用来打开模拟器,由于安装过于简单就不详细介绍了)

兼容HarmonyNext的Flutter版本:https://gitee.com/openharmony-sig/flutter_flutter (记得切换为dev分支)

开发套件: https://developer.huawei.com/consumer/cn/download/ (Command Line Tools for HarmonyOS NEXT Developer Beta1)

兼容HarmonyNext的Flutter版本上的readme中指的鸿蒙套件已经无效

接下来是关于环境变量的相关配置

值得一提的是,Flutter版本再pull时,请切换为最新,否则与官网开发套件版本不一致会影响到后续编译

开始配置环境变量,以下解压路径为:/root/work/ohos_build_tools/command-line-tools/ (改为你自己的解压路径)

#ohos

export OHPM_HOME=/root/work/ohos_build_tools/command-line-tools/ohpm
export HVIGOR_HOME=/root/work/ohos_build_tools/command-line-tools/hvigor
export DEVECO_SDK_HOME=/root/work/ohos_build_tools/command-line-tools/sdk
export PATH=$PATH:$DEVECO_SDK_HOME
export PATH=$PATH:$OHPM_HOME/bin
export PATH=$PATH:$HVIGOR_HOME/bin
export HDC_HOME=/root/work/ohos_build_tools/command-line-tools/sdk/HarmonyOS-NEXT-DB1/openharmony/toolchains
export OHOS_SDK_HOME=/root/work/ohos_build_tools/command-line-tools/sdk/HarmonyOS-NEXT-DB1/openharmony
export PATH=$PATH:$HDC_HOME
export PATH=$PATH:$OHOS_SDK_HOME
export HOS_SDK_HOME=/root/work/ohos_build_tools/command-line-tools/sdk

#Flutter

export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_GIT_URL="https://gitee.com/openharmony-sig/flutter_flutter.git"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

#Flutter存放地址

export FLUTTER_HOME=/root/work/flutter_dev_new/flutter_flutter
export PATH=$PATH:$FLUTTER_HOME/bin

有人会问,我们用的不是Command-line-tools吗?为什么还需要配置DEVECO_SDK_HOME呢?

经过我踩坑发现,Command-line-tools 在以上最新版本上编译时,如果不指定DEVECO_SDK_HOME,会导致编译失败。

配置完环境后执行:Flutter doctor -v 检查Flutter与OpenHarmony的环境是否都为OK状态,都为OK则视为搭建成功!

项目编译

进入正题,我们前面已经配置好相关环境变量,接下来我们开始尝试编译

新建项目

创建你的第一个初始化的项目

flutter create --platforms ohos flutter_ohos_project

注:我们会发现创建后,相较我们原先版本会多出一个ohos的目录,这个是鸿蒙项目,可以简单理解为原Flutter中Android目录,用来配置鸿蒙相关信息,如果后续申请权限等都需要在里面进行配置,这个是后话了。

之后执行编译命令

flutter build hap --target-platform ohos-arm64 --release

之后等待编译结束,出现以下内容视为完成

请通过DevEco Studio打开ohos工程后配置调试签名(File -> Project Structure -> Signing Configs 勾选Automatically generate signature)

编译的hap包路径:项目地址/ohos/entry/build/default/outputs/default/entry-default-unsigned.hap

安装过程

由于我的DevEco-Studio 是安装在MacOS上,开发环境是在Ubuntu上,所以我们将Ubuntu打包出来的hap包,在DevEco-Studio启动模拟器后,进行拖拽安装即可,当出现安装成功,出现Flutter初始化项目计数页,则视为成功。

温馨提示

  • 支持HarmonyNext的Flutter版本不为最新的情况下,会出现Flutter项目使用已兼容Dart 与 HarmonyNext的库无法正常编译通过的情况

结束语

感谢你的观看,希望对你有帮助。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇