快速使用hpm-cli编译鸿蒙组件 精华

鸿蒙开发者社区官方账号
发布于 2020-9-16 18:36
浏览
4收藏

随着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:

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

 

步骤二:安装nodejs

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

sudo apt-get install nodejs
sudo apt-get install npm

查看版本:

node --version  # 查看nodejs版本
npm --version   # 查看npm版本


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

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


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

npm install -g @ohos/hpm-cli


步骤四:配置hpm(可选)
查看或修改 hpm 配置:

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


常用配置:

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


步骤五:安装组件
摄像头类产品: ip_camera_hi3516ev300
1. 准备python环境
需使用python3.7以上版本

sudo apt-get install python3.8
sudo apt-get install python3-pip
sudo pip3 install setuptools
sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本

# 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3
ll `which python`
rm /usr/bin/python
ln -s python3.8 /usr/bin/python


2. 安装文件打包工具

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

 

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


3. 初始化目录

mkdir test3518
cd test3518
hpm init -t dist


4. 继承3516发行版

hpm install @ohos/ip_camera_hi3516ev300


5. 编译

hpm dist


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

 

摄像头+屏幕类产品: ip_camera_hi3516dv300
1. 准备python环境
需使用python3.7以上版本

sudo apt-get install python3.8
sudo apt-get install python3-pip
sudo pip3 install setuptools
sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本

# 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3
ll `which python`
rm /usr/bin/python
ln -s python3.8 /usr/bin/python


2. 安装文件打包工具

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

 

3. 初始化目录

mkdir test3516
cd test3516
hpm init -t dist


4. 继承3516发行版

hpm install @ohos/ip_camera_hi3516dv300


5. 编译

hpm dist


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

WLAN连接类产品:wifi_iot
1. 准备python环境
需使用python3.7以上版本

sudo apt-get install python3.8
sudo apt-get install python3-pip
sudo pip3 install setuptools
sudo pip3 install kconfiglib  # 建议安装kconfiglib 13.2.0+版本
sudo pip3 install pycryptodome
sudo pip3 install six --upgrade --ignore-installed six
sudo pip3 install ecdsa

# 如果当前系统中既存在python2又存在python3,参考以下方法将默认python修改为python3
ll `which python`
rm /usr/bin/python
ln -s python3.8 /usr/bin/python


2. 安装Scons

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


3. 初始化目录

mkdir test3861
cd test3861
hpm init -t dist


4. 继承3861发行版

hpm install @ohos/wifi_iot


5. 编译

hpm dist


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

已于2021-4-1 20:10:08修改
10
收藏 4
回复
举报
6条回复
按时间正序
/
按时间倒序
馥有诗书气自甄
馥有诗书气自甄

hi3516dv300和hi3518ev300两款的步骤中,初始化目录和继承发行版都不匹配,还是修改一下吧

回复
2021-3-30 10:39:14
红叶亦知秋
红叶亦知秋 回复了 馥有诗书气自甄
hi3516dv300和hi3518ev300两款的步骤中,初始化目录和继承发行版都不匹配,还是修改一下吧

具体的修改方案大佬这边有方法吗?

回复
2021-3-30 11:17:26
馥有诗书气自甄
馥有诗书气自甄 回复了 红叶亦知秋
具体的修改方案大佬这边有方法吗?

摄像头类产品: ip_camera_hi3516ev300
第4步:
 继承3518发行版
 hpm install @ohos/ip_camera_hi3518ev300
 
摄像头+屏幕类产品: ip_camera_hi3516dv300
第4步:
 继承3516发行版
 hpm install @ohos/ip_camera_hi3516dv300

1
回复
2021-3-30 20:07:11
鸿蒙张荣超
鸿蒙张荣超

👍👍👍

回复
2021-3-30 20:11:11
鸿蒙开发者社区官方账号
鸿蒙开发者社区官方账号 回复了 馥有诗书气自甄
摄像头类产品: ip_camera_hi3516ev300第4步: 继承3518发行版 hpm install @ohos/ip_camera_hi3518ev300 摄像头+屏幕类产品: ip_camera_hi3516dv300第4步: 继承3516发行版 hpm install @ohos/ip_camera_hi3516dv300

已修改,感谢您的回复,有你的支持社区才会更加精彩。

回复
2021-4-1 20:12:07
王剑楠
王剑楠

请问hpm安装可以,但是编失败了

user101@user101-ThinkPad-E570:~/Documents/test3861$ hpm dist
[WARN] -  The license of @ohos/gn is gn LICENSE. Notice open-source risks.
[WARN] -  The license of @ohos/gcc_riscv32 is GPL V2. Notice open-source risks.
[WARN] -  The license of @ohos/wifi_iot is NA. Notice open-source risks.
Building distribution: @ohos/wifi_iot
/home/user101/Documents/test3861/build/lite/platform/hi3861v100_liteos_riscv/platform.json
/home/user101/Documents/test3861/subsystems_product.json
Command failed: cd ${DEP_BUNDLE_BASE}&&hpm list

 

失败了!

回复
2021-5-31 10:17:21
回复
    相关推荐