鸿蒙打包Flutter为HAP流程
鸿蒙打包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,对需要打包的类型进行解压,解压后的文件夹如下:
6.构建步骤
- 运行 flutter doctor -v 检查环境变量配置是否正确,Futter与OpenHarmony应都为ok标识,若两处提示缺少环境,按提示补上相应环境即可。
- 创建工程与编译命令,编译产物在/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
- 通过flutter devices指令发现ohos设备之后,使用 hdc -t install 进行安装。
- 也可直接使用下列指令运行:
flutter run --local-engine=
7.自己构建engine
虽然非常不建议大家自己去构建Flutter Engine, 但是还是补充一下构建的步骤
- 准备个梯子,非常必要,而且梯子网速要快和稳定,不然很痛苦
- 构建基础环境:可参照官网
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
- 配置文件:创建空文件夹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": "", }, ]
- 同步代码:在engine目录,执行gclient sync;这里会同步engine源码、官方packages仓,还有执行ohos_setup任务;这一步可能会多次中断失败,如果失败了继续执行gclient sync,直到完成为止
- 下载sdk: 从鸿蒙套件列表下载配套开发工具,暂不支持非该渠道下载的套件
- 开始构建:在engine目录,执行./ohos,即可开始构建支持ohos设备的flutter engine。
- 更新代码:在engine目录,执行./ohos -b master
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!