Ubuntu22搭建支持OpenHarmony的Flutter应用开发环境详细教程 原创 精华
westinyang
发布于 2023-10-12 18:25
浏览
3收藏
目录
关于作者:I’m westinyang
序言
实践过程中的部分视频演示
- 由于支持OpenHarmony的Flutter发布不久,还存在若干问题和文档遗漏,随着时间的推移都在不断完善,本文是我在搭建开发环境和探索研究过程下来的一个详细笔记,希望对大家有所帮助!
- 文中涉及到的一些源码存放目录和环境变量配置,请根据你实际存放的位置进行相应的调整。
- 文章附件提供Flutter打包的OpenHarmony应用hap样本,可供参考研究
环境概述
- Ubuntu 22.04 (虚拟机)
- Flutter Engine https://gitee.com/openharmony-sig/flutter_engine
- Flutter SDK https://gitee.com/openharmony-sig/flutter_flutter
- ohos-sdk-full 4.0 beta2 http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist
Flutter Engine 环境和编译
安装依赖
- sudo apt install git curl unzip pkgconf python3-pip
- depot_tools
获取源码
编译构建
开始编译
出现如下错误
解决方案,忽略编译警告,重新编译通过
修改 /home/ubuntu/work/engine/src/build/config/compiler/BUILD.gn
编译成功输出目录
Flutter SDK 环境和配置
Clone SDK
~/.bashrc 完整环境
可以参考下,根据你实际的存放位置修改路径
环境细节
- Command Line Tools for OpenHarmony
- ohcommandline-tools-linux-2.0.0.2.zip
- use ohos-full-sdk api10
- ohpm/in/init 安装 ohpm
如果失败多尝试几次
- developtools_hapsigner
- 参照developtools_hapsigner的readme,编译得到 hap-sign-tool.jar ,确保其在目录下:
./hapsigntool/hap_sign_tool/build/libs/hap-sign-tool.jar
(编译需要jdk11
+gradle7.1
) - 进入autosign文件夹,执行命令
chmod 777 *.sh
,并且新增profile_tmp_template.json
文件,编辑如下:
- 编辑
autosign.config
和createAppCertAndProfile.config
,修改值:sign.profile.inFile=profile_tmp.json
- 配置
<当前项目flutter_flutter目录>/bin
到环境变量PATH,确保which flutter
能找到<flutter sdk>/bin/flutter
位置 - 运行
flutter docker
,检查环境变量配置是否都正确 - 打开vscode,安装flutter插件,如果flutter sdk配置正确,可发现OpenHarmony连接设备,可在vscode上运行和调试应用
- 参照developtools_hapsigner的readme,编译得到 hap-sign-tool.jar ,确保其在目录下:
补充细节
- ohos-sdk & hdc,通过 ohsdkmgr 手动下载SDK,添加api10的full-sdk,并配置到环境变量
- npm 需要正确配置
.npmrc
,否则后续hvigor
编译ohos项目会出错
项目创建编译等命令
常用命令
实践命令(创建项目并打包hap)
flutter build hap -h
hdc找不到已连接设备的解决方案
在Linux下在非root权限下使用hdc会出现无法找到设备的情况,此问题原因为用户USB操作权限问题,解决方法如下:
或者su切换到root用户下运行
这样操作之后 hdc list targets 可查看到已连接的OH设备
持续关注
- 关于作者:I’m westinyang
- 哔哩哔哩:个人主页
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
Flutter打包的OpenHarmony应用hap样本.zip 45.44M 122次下载
已于2024-1-18 16:51:58修改
赞
8
收藏 3
回复
8
8
3
相关推荐
先跟着大佬吃螃蟹
居然可以用Flutter开发了
是的, OpenHarmony SIG 组织在 Gitee 开源了兼容 OpenHarmony 的 Flutter
666,两个视频都已三连
啊,详细教程,太好了啊,谢谢分享,认真学习。收藏了!
视频很优秀
谢谢支持
您好,有遇到过类似问题吗:
flutter build hap打包编译时报错:hvigor ERROR: Failed :entry:default@CompileArkTS...