1.4 搭建HarmonyOS 编译环境
本节将介绍如何在编译服务器的Ubuntu 20.04系统上搭建HarmonyOS的编译环境,具体包括安装编译环境依赖的软件包,以及下载、安装编译和构建工具。
在开始搭建编译环境之前,你需要先在编译服务器上安装Ubuntu 20.04系统。关于如何在虚拟机中安装Ubuntu 20.04系统,请参考附录B。在物理机器上安装Ubuntu 20.04系统的过程和在虚拟机中安装的过程类似,可以通过互联网查找安装指南。
1.4.1 安装编译环境依赖的软件包
在Ubuntu 20.04系统上搭建HarmonyOS编译环境之前,需要先安装编译环境依赖的软件包。安装编译环境依赖的软件包的具体操作步骤如下。
(1)在 Ubuntu 启动栏中搜索 Terminal,或同时按下 Alt+Ctrl+T 组合键,打开终端窗口。
(2)执行sudo apt install python3-pip命令,安装Python包管理工具。在Python 包管理工具安装成功后,即可使用 Python 包管理工具安装其他 Python软件包。
(3)执行pip3 install scons命令,安装scons软件包。scons软件包主要用于Hi3861 SDK的编译和构建。
(4)执行pip3 install kconfiglib命令,安装kconfiglib软件包。kconfiglib软件包主要用于根据 Kconfig配置文件生成 Makefile代码段和头文件。
(5)执行pip3 install pycryptodome ecdsa命令,安装pycryptodome和ecdsa软件包。这两个软件包用于对编译生成的二进制文件进行签名。
(6)执行echo'export PATH=~/.local/bin:$PATH'|tee-a~/.bashrc命令,向~/.bashrc文件添加一行配置,用于将pip包二进制文件所在的目录添加到PATH环境变量中(在下一次打开终端窗口时自动生效)。
1.4.2 下载编译和构建工具
在进行HarmonyOS开发之前,需要先从HarmonyOS设备开发网站上下载适用于Hi3861芯片的编译和构建工具,具体包括以下几个工具。
(1)交叉编译工具包,用于在 Linux 系统上编译出 Hi3861 平台的二进制代码。
(2)gn软件包,用于根据BUILD.gn文件生成ninja编译脚本。
(3)ninja软件包,用于执行ninja编译脚本、运行编译命令生成目标二进制文件。
1.4.3 安装编译和构建工具
1.安装交叉编译工具
假设你已将交叉编译工具包下载到了本地~/Downloads 目录下。安装Hi3861交叉编译工具的具体操作步骤如下。
(1)在 Ubuntu 启动栏中搜索 Terminal,或同时按下 Alt+Ctrl+T 组合键,打开终端窗口。
(2)执行tar-xvf~/Downloads/gcc_riscv32-linux-7.3.0.tar.gz-C~/命令,解压交叉编译工具包。
(3)执行echo'export PATH=~/gcc_riscv32/bin:$PATH'|tee-a~/.bashrc命令,向~/.bashrc文件添加一行配置语句,用于将交叉编译工具包中的二进制文件所在的目录添加到PATH环境变量中。
2.安装构建工具
构建工具包括 gn 软件包和 ninja 软件包。假设你已将 gn 软件包和 ninja软件包下载到了本地~/Downloads目录下。安装Hi3861构建工具的操作步骤如下。
(1)在 Ubuntu 启动栏中搜索 Terminal,或同时按下 Alt+Ctrl+T 组合键,打开终端窗口。
(2)执行tar-xvf~/Downloads/gn.1523.tar-C~/命令,解压gn软件包。
(3)执行tar-xvf~/Downloads/ninja.1.9.0.tar-C~/命令,解压 ninja软件包。
(4)执行echo'export PATH=~/gn:~/ninja:$PATH'|tee-a~/.bashrc命令,向~/.bashrc文件添加一行配置语句,用于将gn和ninja二进制文件所在的目录添加到PATH环境变量中。
1.4.4 安装Samba服务
由于HarmonyOS源代码编译需要在Linux编译服务器上进行,HarmonyOS的源代码也需要存储在Linux编译服务器上。为了方便在Windows主机上编辑代码,我们需要在Linux编译服务器的Ubuntu 20.04系统上安装Samba服务。借助于Samba服务,通过网络共享OpenHarmony目录,可以实现在Windows主机上编辑Linux编译服务器上的代码。在Ubuntu 20.04系统上安装Samba服务的具体操作步骤如下。
(1)执行sudo apt install samba命令,安装Samba服务。
(2)执行sudo gedit/etc/samba/smb.conf命令,打开并修改Samba配置文件/etc/samba/smb.conf,向文件末尾追加以下内容:
注:可以通过执行man smb.conf命令查阅帮助手册了解Samba配置文件的具体说明。
(3)执行sudo smbpasswd-a user命令,创建Samba用户,其中user为新建的用户名。在该命令被执行后,终端会输出“New SMB password:”提示输入密码。在输入密码并按回车键后,终端会输出“Retype new SMB password:”提示确认密码,再次输入同样的密码并按回车键后,终端输出“Added user user.”表示Samba用户添加完成。建议使用登录Ubuntu系统的用户名作为Samba用户名,便于记忆,当然也可以设置不同于登录Ubuntu系统的用户名和密码。
(4)执行sudo service smbd restart命令,重启Samba服务。