鸿蒙打包Flutter为HAP流程

鸿蒙打包Flutter为HAP流程简介,官方文档可访问OpenHarmony-SIG / flutter_flutter


环境依赖

1.下载ohpm命令行工具,并配置环境变量ohpm与sdkmanager,下载完成后执行ohpm目录下bin/init初始化ohpm。参照指导文档:ohpm使用指导

export OHPM_HOME=/home/<user>/ohos/oh-command-line-tools/ohpm/
export PATH= $PATH:$OHPM_HOME/bin:$OHPM_HOME/sdkmanager/bin

2.下载OpenHarmony SDK并配置环境变量,可直接参考官方文档

3.通过代码工具下载当前仓库代码git clone https://gitee.com/openharmony-sig/flutter_flutter.git,并配置环境

#这里的flutter sdk路径为你下载的鸿蒙的flutter sdk的路径,并且需要切换到最新分支代码
export PATH=<flutter_flutter path>/bin:$PATH
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

4.配置签名,可直接参考官方文档

5.应用构建依赖鸿蒙Flutter Engine构建产物,这里建议直接用官方已经构建好的产物,自己去构建费时费力还可能构建不成功,官方构建产物在Engine构建产物,下载好的产物为三个压缩包,分别为 debug profile release,对需要打包的类型进行解压,解压后的文件夹如下:解压后的产物目录

6.构建步骤

  1. 运行 flutter doctor -v 检查环境变量配置是否正确,Futter与OpenHarmony应都为ok标识,若两处提示缺少环境,按提示补上相应环境即可。
  2. 创建工程与编译命令,编译产物在/ohos/entry/build/default/outputs/default/entry-default-signed.hap下。
创建工程,这里创建出来的project的compile sdk为API 11,目前并没有支持个人使用,需要企业申请,对应的开发工具和SDK可参考OpenHarmony文档版本分支说明
flutter create --platforms ohos <projectName>
进入工程根目录编译
cd /Users/kk/Desktop/develop/project/hmosdemo
这里对应的是你上一步解压出来的engine产物路径
flutter build hap --local-engine=/Users/kk/Desktop/develop/project/hm_demo/engine-mac-arm64/src/out/ohos_debug_unopt_arm64
  1. 通过flutter devices指令发现ohos设备之后,使用 hdc -t install 进行安装。
  2. 也可直接使用下列指令运行:
flutter run --local-engine=<flutter_engine out path>

7.自己构建engine

虽然非常不建议大家自己去构建Flutter Engine, 但是还是补充一下构建的步骤

  1. 准备个梯子,非常必要,而且梯子网速要快和稳定,不然很痛苦
  2. 构建基础环境:可参照官网
    2.1 安装git
    2.2 安装python3
    2.3 安装depot_tools,并配置到环境中,这一步可能会多次中断失败,如果失败了继续clone
    2.4 安装pkg-config
    2.5 安装 ninja-build
    2.6 配置node:下载 node 并解压,且配置到环境变量中
    如果是brew进行包管理的,执行brew install 即可,官网的sudo apt install并不适配于brew
brew install python3
brew install pkg-config
brew install ninja-build	

export NODE_HOME=/home/<user>/env/node-v14.19.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH
  1. 配置文件:创建空文件夹engine,engine内新建.gclient文件,编辑文件:
solutions = [
  {
    "managed": False,
    "name": "src/flutter",
    "url": "git@gitee.com:openharmony-sig/flutter_engine.git",
    "custom_deps": {},
    "deps_file": "DEPS",
    "safesync_url": "",
  },
]
  1. 同步代码:在engine目录,执行gclient sync;这里会同步engine源码、官方packages仓,还有执行ohos_setup任务;这一步可能会多次中断失败,如果失败了继续执行gclient sync,直到完成为止
  2. 下载sdk: 从鸿蒙套件列表下载配套开发工具,暂不支持非该渠道下载的套件
  3. 开始构建:在engine目录,执行./ohos,即可开始构建支持ohos设备的flutter engine。
  4. 更新代码:在engine目录,执行./ohos -b master

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值