谷动谷力

 找回密码
 立即注册
查看: 1776|回复: 2
收起左侧

HarmonyOS教程Hi3518开发环境搭建四

[复制链接]
发表于 2021-1-15 23:20:39 | 显示全部楼层 |阅读模式
Docker方式获取编译环境


HarmonyOS为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下:

  • 基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。
  • 独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。独立Docker环境目前容器化构建选项支持情况如下:表1 Docker镜像介绍[td]

    适配的硬件平台

    Docker镜像仓库

    标签

    说明

    Hi3861/Hi3516/Hi3518

    swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker

    0.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
回复

使用道具 举报

 楼主| 发表于 2021-1-15 23:22:01 | 显示全部楼层
独立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




回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-15 23:29:35 | 显示全部楼层
独立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 编译工具链获取路径[td]

适用开发板

下载内容

版本信息

下载站点

SHA256校验码

Hi3861

gcc_riscv32

7.3.0

966fd4fda68d9886b828e6eef3ac3620806a34d3bccba4020a2ef07d9b8b8826

Hi3861、Hi3516、Hi3518

gn

1523

50a5a5ba5877dd0ec8afcb23d3dd4d966a16403c29cd80a4002230241d32ef34

Hi3861、Hi3516、Hi3518

ninja

1.9.0

b4a4ba21e94ff77634e1f88697a00b6f498fdbc0b40d7649df1b246b285874f9

Hi3516、Hi3518

llvm

9.0.0-34042

64a518b50422b6f1ba8f6f56a5e303fb8448a311211ba10c385ad307a1d2546f

Hi3516、Hi3518

hc-gen

0.65

fcfee489371947a464fe41a4b45a897b9a44155891a957f15bad2e157c750162



下载时,检查上述工具是否从官方渠道获取?

  • 在Ubuntu 环境下,使用命令行生成sha256摘要。
    • #> sha256sum 文件名

    如果没有sha256sum工具,请参考Ubuntu命令提示安装。

  • 生成的摘要与官方提供的对比。

    如果一致,则说明下载的工具包没有被篡改过。否则,就要注意下载包的安全。


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-19 07:27 , Processed in 0.093013 second(s), 33 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表