鸿蒙快速使用Hpm-cli编译鸿蒙组件

系统
随着HarmonyOS正式开源,HPM包管理器也应运而生。HPM全称HarmonyOS Package Manager。是一个HarmonyOS组件包管理和分发工具。HPM主要是面向设备开发者,用于获取/定制HarmonyOS源码,执行安装、编译、打包、升级等操作的工具集。

[[352086]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 随着HarmonyOS正式开源,HPM包管理器也应运而生。HPM全称HarmonyOS Package Manager。是一个HarmonyOS组件包管理和分发工具。HPM主要是面向设备开发者,用于获取/定制HarmonyOS源码,执行安装、编译、打包、升级等操作的工具集。

下面就介绍一下如何使用hpm-cli工具来编译HarmonyOS提供的三种解决方案。

Let`s go!

步骤一:环境准备

需要一台 Ubuntu 16.04 及以上 64 位系统(hpm是支持windows的,但是目前鸿蒙开源的三个解决方案都只支持Ubuntu)

将Linux shell改为bash:

  1. ls -l $(which sh) 
  2. # 如果指向的不是bash,则按以下方式修改: 
  3. # 方法一:执行以下命令,然后选择no 
  4. dpkg-reconfigure dash 
  5. # 方法二:先删除sh,再重新创建软连接 
  6. rm -f /bin/sh 
  7. ln -s bash /bin/sh 

 步骤二:安装nodejs

推荐安装 Node.js 12.x (包含 npm 6.14.4)或更高版本(推荐 12.13.0+):

  1. sudo apt-get install nodejs 
  2. sudo apt-get install npm 

 查看版本: 

  1. node --version  # 查看nodejs版本 
  2. npm --version   # 查看npm版本 

 补充:如果配置的源的nodejs版本太低,可以执行以下语句后再次执行apt-get install: 

  1. curl -L https://deb.nodesource.com/setup_12.x | bash 

步骤三:安装hpm

通过 Node.js 自带的 npm(使用默认的源 https://registry.npmjs.org/)安装 hpm-cli 命令行工具: 

  1. npm install -g @ohos/hpm-cli 

步骤四:配置hpm(可选)

查看或修改 hpm 配置: 

  1. hpm config [set <key> <value>] 
  2. # 或 
  3. vim ~/.hpm/hpmrc 

 常用配置:

  1. registry = https://hpm.harmonyos.com/hpm/registry/api  # hpm注册中心地址,下载组件必须 
  2. login = https://hpm.harmonyos.com/hpm/auth/pk          # hpm处理登录地址,发布组件必须 
  3. loginUser = {your-account}                             # 配置hpm登录账号,发布组件必须 
  4. shellPath = /bin/sh                                    # hpm命令执行使用的shell 
  5. globalRepo = /root/.hpm/global                         # 全局安装的组件存放路径 
  6. http_proxy = http://your-proxy-server:port             # HTTP代理 
  7. https_proxy = http://your-proxy-server:port            # HTTPS代理 

 步骤五:安装组件

摄像头类产品: ip_camera_hi3518ev300

1. 准备python环境

需使用python3.7以上版本

  1. sudo apt-get install python3.8 
  2. sudo apt-get install python3-pip 
  3. sudo pip3 install setuptools 
  4. sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本 
  5.  
  6. # 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3 
  7. ll `which python` 
  8. rm /usr/bin/python 
  9. ln -s python3.8 /usr/bin/python 

 2. 安装文件打包工具 

  1. which mkfs.vfat  # 如果没找到,执行以下命令安装 
  2. sudo apt-get install dosfstools 

  1. which mcopy  # 如果没找到,执行以下命令安装 
  2. sudo apt-get install mtools 

 3. 初始化目录

  1. mkdir test3518 
  2. cd test3518 
  3. hpm init -t dist 

 4. 继承3518发行版

  1. hpm install @ohos/ip_camera_hi3518ev300 

5. 编译

  1. hpm dist 

6. 完成

成功后./out目录下即为编译产物,快将其烧录到你的设备上看看效果吧~

摄像头+屏幕类产品: ip_camera_hi3516dv300

1. 准备python环境

需使用python3.7以上版本

  1. sudo apt-get install python3.8 
  2. sudo apt-get install python3-pip 
  3. sudo pip3 install setuptools 
  4. sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本 
  5.  
  6. # 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3 
  7. ll `which python` 
  8. rm /usr/bin/python 
  9. ln -s python3.8 /usr/bin/python 

 2. 安装文件打包工具

  1. which mkfs.vfat  # 如果没找到,执行以下命令安装 
  2. sudo apt-get install dosfstools 

  1. which mcopy  # 如果没找到,执行以下命令安装 
  2. sudo apt-get install mtools 

 3. 初始化目录 

  1. mkdir test3516 
  2. cd test3516 
  3. hpm init -t dist 

 4. 继承3516发行版 

  1. hpm install @ohos/ip_camera_hi3518ev300 

5. 编译 

  1. hpm dist 

6. 完成

成功后./out目录下即为编译产物,快将其烧录到你的设备上看看效果吧~

WLAN连接类产品:wifi_iot

1. 准备python环境

需使用python3.7以上版本

  1. sudo apt-get install python3.8 
  2. sudo apt-get install python3-pip 
  3. sudo pip3 install setuptools 
  4. sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本 
  5. sudo pip3 install pycryptodome 
  6. sudo pip3 install six --upgrade --ignore-installed six 
  7. sudo pip3 install ecdsa 
  8.  
  9. # 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3 
  10. ll `which python` 
  11. rm /usr/bin/python 
  12. ln -s python3.8 /usr/bin/python 

 2. 安装Scons 

  1. sudo apt-get install scons  # 推荐SCons版本是3.0.4+ 

3. 初始化目录

  1. mkdir test3861 
  2. cd test3861 
  3. hpm init -t dist 

 4. 继承3861发行版 

  1. hpm install @ohos/wifi_iot 

5. 编译 

  1. hpm dist 

6. 完成

成功后./out目录下即为编译产物,快将其烧录到你的设备上看看效果吧~

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-06-24 09:32:00

鸿蒙HarmonyOS应用

2021-02-06 13:28:21

鸿蒙HarmonyOS应用开发

2021-07-05 14:29:28

鸿蒙HarmonyOS应用

2021-09-13 15:17:28

鸿蒙HarmonyOS应用

2021-09-01 19:33:41

Source SentryDocker

2021-02-04 09:45:19

鸿蒙HarmonyOS应用开发

2021-06-28 14:48:03

鸿蒙HarmonyOS应用

2021-01-18 09:52:20

鸿蒙HarmonyOS开发

2021-08-04 14:16:41

鸿蒙HarmonyOS应用

2021-12-24 15:46:23

鸿蒙HarmonyOS应用

2021-08-12 14:59:15

鸿蒙HarmonyOS应用

2021-07-27 11:39:40

鸿蒙HarmonyOS应用

2024-02-19 15:40:37

鸿蒙App备案阿里云

2021-06-25 15:04:31

鸿蒙HarmonyOS应用

2020-11-10 10:00:10

HarmonyOS

2021-01-04 11:10:14

鸿蒙HarmonyOSCanvas

2021-03-17 09:35:09

鸿蒙HarmonyOS应用开发

2021-03-30 09:45:07

鸿蒙HarmonyOS应用开发

2021-10-26 15:22:52

鸿蒙HarmonyOS应用

2021-09-07 09:53:45

鸿蒙HarmonyOS应用
点赞
收藏

51CTO技术栈公众号