鸿蒙打包Flutter为HAP流程

2024-06-04 6497阅读

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


环境依赖

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

export OHPM_HOME=/home//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=/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,对需要打包的类型进行解压,解压后的文件夹如下:鸿蒙打包Flutter为HAP流程 第1张

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 
进入工程根目录编译
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=

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//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


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]