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:
- 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_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目录下即为编译产物,快将其烧录到你的设备上看看效果吧~
https://harmonyos.51cto.com/#zz