HarmonyOS教程Hi3518开发环境搭建四
Docker方式获取编译环境HarmonyOS为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下:
[*]基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。
[*]独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。独立Docker环境目前容器化构建选项支持情况如下:表1 Docker镜像介绍
适配的硬件平台Docker镜像仓库标签说明
Hi3861/Hi3516/Hi3518swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker0.0.2已经预安装HarmonyOS版本的编译环境,支持Hi3861/Hi3516/Hi3518三种平台的版本构建
基于HPM的Docker环境docker_dist是一个HPM系统中的模板组件,能够帮助用户快速初始化HPM工程,利用docker镜像来快速编译HarmonyOS发行版,在很大程度上简化了编译前的环境配置。开发者在配置好Ubuntu和hpm-cli开发环境后,可以通过以下步骤来使用我们提供的Docker环境。搭建Docker环境
[*]初始化安装模板。在任意工作目录中执行以下命令。
[*]hpm init -t @ohos/docker_dist
[*]修改publishAs。因为获取到的是模板类型的包,要把包的类型改为需要的类型。 在当前目录下打开bundle.json文件,把"publishAs"字段的值由"template"改为"distribution"。
[*]选择解决方案。设置解决方案发行版的环境变量。ip_camera_hi3516dv300:
[*]export solution=@ohos/ip_camera_hi3516dv300
ip_camera_hi3518ev300:
[*]export solution=@ohos/ip_camera_hi3518ev300
wifiiot:
[*]export solution=@ohos/wifi_iot
说明
windows下使用cmd设置需要使用如下命令
[*]set solution=发行版名称
编译源码执行编译。以ip_camera_hi3518ev300为例。以下命令可以帮助用户自动安装docker, 拉取镜像,并且在容器中开始运行对应解决方案的拉取和编译。
[*]hpm run docker
执行成功结果如下:
[*]......
[*]ohos ipcamera_hi3518 build success!
[*]@ohos/ip_camera_hi3518ev300: distribution building completed.
说明
自动安装docker只能在Ubuntu环境下执行,如果其他环境,需要用户自行安装docker,然后拉取镜像,执行编译。相关操作如下:
[*]# 拉取镜像
[*]docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2
[*]# linux环境下的编译
[*]hpm run distWithDocker
[*]# windows下的编译,需要配置gitbash
[*]hpm config set shellPath "gitbash路径"
[*]hpm run distWithDocker
独立Docker环境HarmonyOS的Docker镜像托管在HuaweiCloud SWR上。开发者可以通过该镜像在很大程度上简化编译前的环境配置。开发者在配置好开发环境后,通过以下步骤来使用Docker环境。本Docker支持Ubuntu/Windows平台,下文将以Ubuntu系统为例进行使用介绍。方式一:从HuaweiCloud SWR上直接获取Docker镜像进行构建:
[*]获取Docker镜像。
[*]docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2
[*]进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
[*]docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2
[*]通过如下编译脚本启动wifiiot、ipcamera_hi3516dv300、ipcamera_hi3518ev300不同平台的编译。
[*]python build.py wifiiot/ipcamera_hi3516dv300/ipcamera_hi3518ev300
方式二:通过Dockerfile 构建本地Docker镜像进行构建
[*]获取Dockerfile脚本文件,用来构建本地Docker镜像。
[*]git clone https://gitee.com/openharmony/docs.git
[*]进入Dockerfile代码目录路径执行Docker镜像构建命令。
[*]cd docs/docker
[*]./build.sh
[*]进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
[*]docker run -it -v $(pwd):/home/openharmony openharmony-docker:0.0.2
[*]通过如下编译脚本启动wifiiot、ipcamera_hi3516dv300、ipcamera_hi3518ev300不同平台的编译。
[*]python build.py wifiiot/ipcamera_hi3516dv300/ipcamera_hi3518ev300
独立Docker环境HarmonyOS的Docker镜像托管在HuaweiCloud SWR上。开发者可以通过该镜像在很大程度上简化编译前的环境配置。开发者在配置好开发环境后,通过以下步骤来使用Docker环境。本Docker支持Ubuntu/Windows平台,下文将以Ubuntu系统为例进行使用介绍。方式一:从HuaweiCloud SWR上直接获取Docker镜像进行构建:
[*]获取Docker镜像。
[*]docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2
[*]进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
[*]docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.2
[*]通过如下编译脚本启动wifiiot、ipcamera_hi3516dv300、ipcamera_hi3518ev300不同平台的编译。
[*]python build.py wifiiot/ipcamera_hi3516dv300/ipcamera_hi3518ev300
方式二:通过Dockerfile 构建本地Docker镜像进行构建
[*]获取Dockerfile脚本文件,用来构建本地Docker镜像。
[*]git clone https://gitee.com/openharmony/docs.git
[*]进入Dockerfile代码目录路径执行Docker镜像构建命令。
[*]cd docs/docker
[*]./build.sh
[*]进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
[*]docker run -it -v $(pwd):/home/openharmony openharmony-docker:0.0.2
[*]通过如下编译脚本启动wifiiot、ipcamera_hi3516dv300、ipcamera_hi3518ev300不同平台的编译。
[*]python build.py wifiiot/ipcamera_hi3516dv300/ipcamera_hi3518ev300
软件包方式获取编译工具链如果不使用Docker,使用软件包方式安装编译环境,请按本节要求,从镜像站点下载部分编译工具链,具体如下表所示。全部编译工具链的下载以及安装,请参考“快速入门”的“Hi3861环境搭建、Hi3516环境搭建、Hi3518环境搭建”部分。
表2 编译工具链获取路径
适用开发板下载内容版本信息下载站点SHA256校验码
Hi3861gcc_riscv327.3.0站点966fd4fda68d9886b828e6eef3ac3620806a34d3bccba4020a2ef07d9b8b8826
Hi3861、Hi3516、Hi3518gn1523站点50a5a5ba5877dd0ec8afcb23d3dd4d966a16403c29cd80a4002230241d32ef34
Hi3861、Hi3516、Hi3518ninja1.9.0站点b4a4ba21e94ff77634e1f88697a00b6f498fdbc0b40d7649df1b246b285874f9
Hi3516、Hi3518llvm9.0.0-34042站点64a518b50422b6f1ba8f6f56a5e303fb8448a311211ba10c385ad307a1d2546f
Hi3516、Hi3518hc-gen0.65站点fcfee489371947a464fe41a4b45a897b9a44155891a957f15bad2e157c750162
下载时,检查上述工具是否从官方渠道获取?
[*]在Ubuntu 环境下,使用命令行生成sha256摘要。
[*]#> sha256sum 文件名
如果没有sha256sum工具,请参考Ubuntu命令提示安装。[*]生成的摘要与官方提供的对比。如果一致,则说明下载的工具包没有被篡改过。否则,就要注意下载包的安全。
页:
[1]