引言
《论语》:“工欲善其事,必先利其器”。要搞鸿蒙设备开发,必须首先搭建好开发环境。本文首先简要介绍了鸿蒙设备开发环境的两种搭建方案;然后详细介绍了基于Ubuntu 20.04和DevEco Device Tool Release 3.0 搭建鸿蒙设备集成开发环境的完整过程。
一、两种搭建方案
目前,鸿蒙设备的集成开发环境,主要是围绕华为提供的鸿蒙设备集成开发工具 DevEco Device Tool(https://device.harmonyos.com/cn/develop/ide/)进行搭建的,有以下两种搭建方案:
方案一:纯Ubuntu开发环境。(推荐)
参考:
- https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-ubuntu-0000001072959308
按照该方案,开发者只需要在装有Ubuntu系统的计算机上围绕 DevEco Device Tool 的Ubuntu版本搭建支持源码编辑、编译、烧录和调试的一站式开发环境即可。装有Ubuntu系统的计算机也可以是虚拟机。
方案二:Windows+Ubuntu混合开发环境。
参考:
- https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-windows-ubuntu-0000001194073744
- https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-windows-0000001050164976
- https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md
- https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-env-setup.md
该方案主要是为了照顾很多开发者只习惯于在Windows系统中进行开发,但又由于目前除了Hi3861这款处理器以外,大部分处理器尚不支持在Windows下进行鸿蒙系统的编译,所以按照该方案,需要在Windows系统和Ubuntu系统上分别安装 DevEco Device Tool 。
在Ubuntu系统上安装 DevEco Device Tool ,主要是为了搭建鸿蒙系统的编译环境。在开发过程中,开发者使用Windows平台上的 DevEco Device Tool 可视化界面,通过远程连接的方式对Ubuntu系统下的代码进行编辑、编译和烧录等操作。
另外,还有一点要告诉大家:
尽管DevEco Device Tool有Windows和Ubuntu两种版本,但至少到目前为止,其还只能运行在x64架构的CPU上,暂时不要试图将其安装到像树莓派、Nvidia的Jetson Nano这些使用ARM-64bit架构CPU的设备上(笔者已经尝试过了)。
二、搭建纯Ubuntu开发环境
参考:
https://device.harmonyos.com/cn/docs/documentation/guide/ide-install-ubuntu-0000001072959308
在搭建鸿蒙设备开发环境之前,请先按照鸿蒙系统的要求,完成Ubuntu系统的安装:
《在Win10中安装虚拟机:VMware Workstation Pro16+Ubuntu20.04》链接
《在Win10中安装虚拟机:VMware Workstation Player+Ubuntu20.04》链接
无论是写文档还是写程序的注释,都需要用到中文输入法:
《在Ubuntu20.04中安装中文输入法》链接
下面详细介绍按照方案一,基于 Ubuntu20.04 和华为的 DevEco Device Tool Release 3.0 搭建鸿蒙设备开发环境的完整过程:
- 基本搭建步骤:2.1~2.5
- 如果想在Ubuntu终端窗口中使用HPM(HarmonyOS Package Manager)的命令行(CLI)从华为的DevEco Marketplace网站上下载鸿蒙发行版源码,需要执行步骤2.6~2.7。
- 如果想在Ubuntu终端窗口中使用命令行编译鸿蒙工程,需要执行步骤2.8~2.10。
- 如果要编译的鸿蒙源码为OpenHarmony_v1.x分支/标签, 需要执行步骤2.11。
- 如果你使用的处理器是RISC-V 32bit架构的,需要执行步骤2.12。
2.1 安装后续操作所需的库和工具
sudo apt-get update
sudo apt-get install vim
sudo apt-get install curl
vim是Linux下著名的文本编辑器。
cURL(CommandLine Uniform Resource Locator)是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。通过hpm下载鸿蒙源码时,需要用到curl。
2.2 将Ubuntu的shell改为bash
1、打开终端(CTRL+ALT+t),执行以上命令,查看Ubuntu当前的shell:
ls -l /bin/sh
Ubuntu系统默认的shell为dash。
2、如果Ubuntu当前的shell不是bash,执行以下命令,输入密码,选择No,回车,将Ubuntu的shell改为bash。
sudo dpkg-reconfigure dash
3、执行以下命令,确认上面的更改是否生效。
ls -l /bin/sh
2.3 安装Python相关
鸿蒙系统的开发环境需要Python的支持。
开发环境要求:Python为3.8~3.9版本。Ubuntu 20.04已默认安装了python 3.8。
1、安装pip3和venv
sudo apt-get install python3-pip
sudo apt-get install python3.8-venv
2、创建一个名为python的软链接,让该软链接指向python3.8。
cd /usr/bin
sudo ln -s python3.8 python
3、建议将pip3镜像源设置成国内的镜像源,比如:华为源。
pip3 config set global.trusted-host repo.huaweicloud.com
pip3 config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple
pip3 config set global.timeout 120
2.4 安装Visual Studio Code
Visual Studio Code为鸿蒙开发提供可视化环境,华为的DevEco Device Tool是基于Visual Studio Code的扩展,需要以插件方式安装到Visual Studio Code上面运行。
开发环境要求:Visual Studio Code为1.62及以上版本。
1、下载安装包
下载地址:https://code.visualstudio.com/Download
在Updates页面,有Visual Studio Code历史上的各个版本,从这个页面中的链接下载,速度更快。
下载到的安装包:code_1.68.1-1655263094_amd64.deb
安装包的存放位置:/home/dandelion/HarmonyTools
2、安装
进入存放Visual Studio Code安装包的目录,执行如下命令,安装Visual Studio Code,其中code_1.68.1-1655263094_amd64.deb为软件包名称,请根据实际进行修改。
sudo dpkg -i code_1.68.1-1655263094_amd64.deb
安装结束后,执行code --version,查询Visual Studio Code安装结果。
2.5 安装DevEco Device Tool 3.0 Release
DevEco Device Tool要求主机的用户名不能包含中文字符,否则在运行DevEco Device Tool时,DevEco 的Home界面可能会一直处于Loading状态,导致不能正常使用。
安装DevEco Device Tool时,请先关闭Visual Studio Code。
虽然在安装DevEco Device Tool的过程中,安装程序会对Python和Visual Studio Code进行检查,如果没有安装或版本不符合要求,安装程序也会自动安装Python和Visual Studio Code,但我还是习惯先按要求提前(2.3、2.4)将它们安装好。
1、下载安装包
版本:V3.0 Release
下载地址:https://device.harmonyos.com/cn/develop/ide
下载到的文件:devicetool-linux-tool-3.0.0.401.zip
存放位置:/home/dandelion/HarmonyTools
2、将下载到的安装包解压,给解压得到的.sh文件赋予可执行权限。
unzip devicetool-linux-tool-3.0.0.401.zip
chmod u+x devicetool-linux-tool-3.0.0.401.sh
3、安装
sudo ./devicetool-linux-tool-3.0.0.401.sh -- --install-plugins
安装DevEco Device Tool的时候,会先自动卸载之前已经安装的DevEco Device Tool。
按上、下键选择,按TAB键跳转,按回车键执行。
看到下图红框内这条信息时,表明安装成功了。
4、第一次启动Visual Studio Code。
单击Ubuntu桌面左下角“点阵”图标,选择“All”,找到Visual Studio Code图标。右键单击图标,在弹出的菜单中选择“Add to Favorite”,可将图标添加到桌面左侧;左键点击图标,启动Visual Studio Code。
启动Visual Studio Code之后,单击下图中红色箭头所指的左侧工具栏上的图标,可以看到DevEco Device Tool已经作为插件安装到Visual Studio Code中了。
下图红色箭头所指的的图标就是Visual Studio Code中的DevEco Device Tool插件图标。
2.6 安装Node.js
Node.js基于Chrome 浏览器的 V8 JavaScript 引擎,在服务器端为JavaScript程序提供运行环境,它是一个让JavaScript程序运行在浏览器之外的平台。
目前,在Node.js中已经集成了Node.js包管理工具:NPM(Node Package Manager),随Node.js一起安装。后面,我们要用NPM安装鸿蒙的包管理工具hpm,所以这里要先安装Node.js。
1、下载Node.js
版本要求: 需不低于12.x (包含npm 6.14.4),推荐安装LTS版本。
下载地址: https://nodejs.org/zh-cn/download/
下载到的文件: node-v16.15.1-linux-x64.tar.xz
存放位置: /home/dandelion/HarmonyTools
2、解压
进入存放Node.js软件包的目录(例如: ~/HarmonyTools/),执行以下命令或者在文件上单击右键选择Extract Here,解压已经下载好的安装包, 其中node-v16.15.1-linux-x64.tar.xz为软件包名称,请根据实际名称修改解压命令。
tar -xvf node-v16.15.1-linux-x64.tar.xz
3、配置环境变量
(1)如果没有安装vim,先执行以下命令安装:
sudo apt-get install vim
(2)执行以下命令,编辑当前用户下的配置文件.bashrc。
vim ~/.bashrc
在配置文件中,点击键盘上的“i”,然后在最后插入Node.js的环境变量信息,文件目录和软件包名称请根据实际情况进行修改。
#Node.js
export NODE_HOME=~/HarmonyTools/node-v16.15.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH
添加完成后,点击键盘上的“Esc”,然后输入:wq,点击“Enter”进行保存并退出。
(3)执行source命令使配置文件立即生效:
source ~/.bashrc
(4)执行以下命令,检查Node.js安装结果:
node -v
npm -v
2.7 安装HPM
HPM是鸿蒙的包管理工具,安装hpm之前,要先确保Node.js安装成功。同时,要检查网络连接状态,确保可以访问Internet。
1、建议先将npm源配置为国内镜像,例如:华为云镜像源。
npm config set registry https://repo.huaweicloud.com/repository/npm/
2、安装HPM
执行如下命令安装HPM:
npm install -g @ohos/hpm-cli
由于这个命令默认安装hpm的最新版本,而最新版本可能会有Bug,所以可能会出现下图所示错误:
如果出现错误,解决方法:指定版本号重新安装hpm。有两个版本版本:1.4.2、1.4.4,我都曾成功安装过,例如:
npm install -g @ohos/hpm-cli@1.4.2
这次安装最新版,也没有出错:
如果提示升级npm,可按照提示执行升级命令:
npm install -g npm@8.12.2
如果之后要升级hpm的版本,可执行如下命令:
npm update -g @ohos/hpm-cli
3、执行如下命令(V为大写字母),查看HPM安装结果。
hpm -V
hpm --version
hpm命令行的使用方法,可参考:https://repo.harmonyos.com/#/cn/help/hpmcli
2.8 安装Python模块
第2.9节要安装的编译构建工具hb(ohos-builder)是用python编写的,它依赖于以下这些Python模块。
1、安装jinja2
pip3 install jinja2
2、安装Scons
python3 -m pip install scons
#或者
sudo apt-get install scons
执行scons -v,查看是否安装成功:
3、安装pycryptodome
python3 -m pip install pycryptodome
4、安装ecdsa
python3 -m pip install ecdsa
5、安装GUI menuconfig工具(Kconfiglib)
python3 -m pip install kconfiglib
6、安装setuptools(Ubuntu20.04默认已经安装)
python3 -m pip install setuptools
2.9 安装hb
1、从PIP库中下载安装
python3 -m pip install --user ohos-build #安装最新版本
2、设置环境变量
vim ~/.bashrc
将以下命令拷贝到最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
执行以下命令,让环境变量生效
source ~/.bashrc
3、检查是否安装成功。
执行命令:hb -h,如果出现下图所示,说明没有安装成功。
解决方法1: 先卸载hb(见第4步),然后指定版本安装,例如:
python3 -m pip install --user ohos-build==0.4.3 #安装版本0.4.3
解决方法2: 先卸载hb(见第4步),然后从鸿蒙项目中自带的hb源码安装。
进入鸿蒙项目文件夹,在文件夹空白处单击鼠标右键,选“Open in Terminal”,打开一个终端,在终端中执行命令:
python3 -m pip install --user build/lite
执行命令:hb -h,如果出现下图所示,说明安装成功。
4、卸载hb
python3 -m pip uninstall ohos-build
2.10 安装gn、ninja
1、先将gn和ninja的压缩包下载到本地
gn下载地址: https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
ninja下载地址: https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
下载到的文件:gn-linux-x86-1717.tar.gz、ninja.1.9.0.tar
存放位置:/home/dandelion/HarmonyTools
2、将下载到的压缩包解压到当前文件夹
3、设置环境变量
编辑~/.bashrc,将gn和ninja的路径添加到文件中:
export PATH=~/HarmonyTools/gn-linux-x86-1717:$PATH
export PATH=~/HarmonyTools/ninja.1.9.0/ninja:$PATH
执行以下命令,是环境变量生效:
source ~/.bashrc
2.11 安装LLVM
如果要编译的鸿蒙源码为OpenHarmony_v1.x分支/标签, 请按本节的步骤安装llvm的9.0.0版本。
注意:
如果需要编译其他的OpenHarmony版本,则不需要执行本节的安装步骤,hb会自动下载合适版本的llvm。如果之前按本节的步骤安装过9.0.0版本的llvm,可能会导致编译出错,请先清除(去掉.bashrc文件中相关环境变量设置,最好把之前安装9.0.0版本的llvm时解压出来的llvm文件夹也删掉)。
1、下载LLVM压缩包
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar
下载到的文件:llvm-linux-9.0.0-36191.tar
存放位置:/home/dandelion/HarmonyTools
2、解压LLVM安装包。
tar -xvf llvm-linux-9.0.0-36191.tar
3、设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/HarmonyTools/llvm/bin:$PATH
生效环境变量:
source ~/.bashrc
2.12 安装gcc_riscv32
如果你使用的处理器是RISC-V 32bit架构的,需要安装gcc_riscv32编译工具链。
1、先将gcc_riscv32编译工具链的压缩包下载到本地
下载地址: https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
下载到的文件:gcc_riscv32-linux-7.3.0.tar.gz
存放位置:/home/dandelion/HarmonyTools
2、将下载到的压缩包解压到当前文件夹。
3、设置环境变量
编辑~/.bashrc,将gcc_riscv32的路径添加到文件中:
export PATH=~/HarmonyTools/gcc_riscv32-linux-7.3.0/gcc_riscv32/bin:$PATH
执行以下命令,是环境变量生效:
source ~/.bashrc