手记

尝鲜使用hpm-cli编译鸿蒙HarmonyOS组件

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

Let`s go!

步骤一:环境准备

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

将Linux shell改为bash:

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

步骤二:安装nodejs

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

sudo apt-get install nodejssudo 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_hi3518ev300

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. 继承3518发行版

hpm install @ohos/ip_camera_hi3518ev300

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_hi3518ev300

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目录下即为编译产物,快将其烧录到你的设备上看看效果吧~


1人推荐
随时随地看视频
慕课网APP