搭建鸿蒙环境
系统定义
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。
- 对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,形成一个“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
- 对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
- 对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。
技术特性硬件互助,资源共享分布式软总线
分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。分布式软总线示意图见。
一次开发,多端部署
HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。一次开发、多端部署示意图见图
技术架构
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如图
工具简介
HUAWEI DevEco Device Tool (以下简称DevEco Device Tool)是HarmonyOS面向智能设备开发者提供的一站式集成开发环境,支持HarmonyOS的组件按需定制,支持代码编辑、烧录和调试等功能,支持C/C++语言,以插件的形式部署在Visual Studio Code上。
该工具具有以下特点:
- DevEco Device Tool以Visual Studio Code插件形式提供,体积小巧。
- 支持代码查找、代码高亮、代码自动补齐、代码输入提示、代码检查等,开发者可以轻松、高效编码。
- 支持多种类型开发板,包括ARM架构的Hi3516/Hi3518系列和RISC-V架构的Hi3861系列开发板,提供一键式的烧录和调试GUI界面。
- 支持单步调试能力和查看内存、变量、调用栈、寄存器、汇编等调试信息。
DevEco Device Tool工具主要分为如下4个功能区域。
-
工具控制区:提供工程的导入、配置、烧录、调试等功能。
-
代码编辑区:提供代码的查看、编写和调试等功能。
-
输出控制台:提供操作日志的打印、调试命令的输入及命令行工具等功能。
-
快捷控制功能:提供DevEco Device Tool工具的快捷操作命令,如配置模板选择、工具检查、编译等快捷功能。
下载安装包
环境准备
安装Visual Studio Code
说明
如果已安装Visual Studio Code,打开命令行工具,输入code --version命令,检查版本号是否为1.45.1及以上版本;可以正常返回版本号,说明环境变量设置也正确。
登录Visual Studio Code官方网站,下载Visual Studio Code软件包,要求为1.45.1及以上版本。
下载完成后,点击软件包进行安装。安装过程中,请勾选“添加到PATH(重启后生效)”。
安装完成后,重启计算机,使Visual Studio Code的环境变量生效。
安装Node.js
说明
如果已安装Node.js,打开命令行工具,输入node -v命令,检查版本号是否为12.0.0及以上版本。如果版本符号要求,请添加NODE_PATH变量。
- 登录Node.js官方网站,下载Node.js软件包。请选择LTS版本12.0.0及以上,Windows 64位对应的软件包。
-
下载完成后,点击软件包进行安装,勾选图中的选项框,自动安装必要工具(如Python、Visual Studio构建工具链)。
-
Node.js安装完成后,点击Finish,系统会打开一个新窗口,自动安装必要的工具,请点击键盘任意键继续。
系统自动打开PowerShell工具,开始安装必要工具,会提示安装Python和Visual Studio构建工具链安装成功。
说明
如果安装必要工具链过程中提示Visual Studio的更新失败,可以忽略跳过,不影响使用。
-
在“此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量 >系统变量”中,新增NODE_PATH变量,值为:C:\Users{userName}\AppData\Roaming\npm\node_modules,其中userName请替换为实际的用户名称。
-
打开CMD命令行工具,输入“node -v”命令,能正常查询Node.js的版本号,说明Node.js安装成功。
安装JDK
说明
如果已安装JDK,打开命令行工具,输入java -version命令,检查版本号是否1.8版本。
请自行下载并安装JDK,版本要求为:1.8版本。
安装hpm
该方式需先确保Node.js安装成功。在安装hpm前,请检查网络连接状态,如果网络不能直接访问Internet,而是需要通过代理服务器才可以访问。这种情况下,需要先设置npm代理,才能安装hpm。
打开命令行工具,执行如下命令安装hpm。
npm install -g @ohos/hpm-cli
安装完成后,执行如下命令(V为大写字母)查看hpm是否安装成功。
hpm -V
安装DevEco Device Tool插件
如果您已经安装过DevEco Device Tool 插件,在您安装新版本前,请先手动将已安装的DevEco Device Tool 插件卸载后再按照如下步骤进行安装。
-
登录HarmonysOS设备开发门户,点击右上角注册按钮,注册开发者帐号,注册指导参考注册华为帐号。如果已有华为开发者帐号,请直接点击登录按钮。
进入HUAWEI DevEco Device Tool产品页,下载DevEco Device Tool安装包。 -
打开Visual Studio Code软件。
采用从本地磁盘安装方式,安装DevEco Device Tool。 -
安装成功后,界面如下图所示。
-
安装C/C++插件
HarmonysOS设备开发采用C/C++语言,Visual Studio Code工具对C/C++语言的支持插件非常丰富,可以安装“C/C++”插件来实现C/C++代码智能提示、代码高亮、格式化等功能,帮助您更高效、便利的开发更规范和优美的代码。
在Visual Studio Code的插件市场,输入“C/C++”,然后点击“Install”。
- 如果在线安装失败,可点击右下角弹框的“Go to Download Page”,下载离线插件(选择“cpptools-win32.vsix”版本,Windows下,64位和32位系统均为同一个安装包)。然后再参考安装DevEco Device Tool插件的方式,离线安装C/C++插件。
映射HarmonyOS源码
下载安装VMware Tools
VMware Tools的功能主要有两点:
1、可以在本机和虚拟机之间拖拽文件
2、是虚拟机的屏幕充满VMware Workstations的窗口
步骤
这里以Ubuntu 16.04为例,其他的步骤都大致相同
- 选择“虚拟机”->“安装VMware Tools”
- 等一会儿之后,在桌面或者文件里就会出现一个VMware Tools的磁盘驱动,打开终端把压缩文件解压到某个路径
- 解压完之后,进解压路径,就会看VMware Tools的安装包(上图安装包左边的文件夹)
- 进入安装包,打开终端,执行安装程序
开始安装之后见到yes,就输入yes。其他的就一路回车按(Enter)直到出现“Enjoy, –the VMware team”如下图,就表示安装成功了,然后手动重启虚拟机,虚拟机的屏幕充满VMware Workstations的窗口。 - 若是手动重启虚拟机之后,虚拟机的屏幕没有充满VMware Workstations的窗口,也可以手动设置
也可以在本机和虚拟机之间直接拖拽文件了 - 最后,解压的VMware Tools的安装文件不想要的话,可以删除,不会影响正常的使用
构建编译环境
将Linux shell改为bash
查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
方法一:在终端运行如下命令,然后选择 no。
sudo dpkg-reconfigure dash
方法二:先删除sh,再创建软链接。
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
确定Python安装好后,运行如下命令,将python路径链接到"/usr/bin/python"。
which python3.8
cd /usr/bin && sudo rm python && sudo ln -s /usr/local/bin/python3.8 python && python --version
安装并升级Python包管理工具(pip3),任选如下一种方式。
命令行方式:
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
安装包方式:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
运行如下命令,安装python模块setuptools。
pip3 install setuptools
安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本,任选如下一种方式。
命令行方式:
sudo pip3 install kconfiglib
安装包方式:
下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。
下载路径:“https://pypi.org/project/kconfiglib#files”
运行如下命令,安装.whl文件。
sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl
安装pycryptodome,任选如下一种方式。
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。
命令行方式:
sudo pip3 install pycryptodome
安装包方式:
下载.whl文件(例如:pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl)。
下载路径:“https://pypi.org/project/pycryptodome/#files”。
运行如下命令,安装.whl文件。
sudo pip3 install pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl
安装ecdsa,任选如下一种方式。
命令行方式:
sudo pip3 install ecdsa
安装包方式:
下载.whl文件(例如:ecdsa-0.14.1-py2.py3-none-any.whl)。
下载路径:“https://pypi.org/project/ecdsa/#files”
运行如下命令,安装.whl文件。
sudo pip3 install ecdsa-0.14.1-py2.py3-none-any.whl
安装Scons
打开Linux编译服务器终端。
运行如下命令,安装SCons安装包。
sudo apt-get install scons -y
如果软件源中无法找到安装包,请按以下步骤处理:
下载源码包(下载路径:“ https://scons.org/pages/download.html ”,推荐SCons版本是3.0.4+)。
解压源码包到任意目录。
安装源码包:进入解压目录,运行如下命令:
sudo python3 setup.py install
运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。
scons -v
安装编译工具环境
须知
如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja、gcc_riscv32编译工具。
(推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、gcc_riscv32编译工具。
安装gn、ninja、gcc_riscv32编译工具时,请确保编译工具的环境变量路径唯一。
官方流程
安装gn
官网
打开Linux编译服务器终端。
下载gn工具。
解压gn安装包至~/gn路径下。
tar -xvf gn.1523.tar -C ~/
设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gn:$PATH
生效环境变量。
source ~/.bashrc
安装ninja
打开Linux编译服务器终端。
下载ninja工具。
解压ninja安装包至~/ninja路径下。
tar -xvf ninja.1.9.0.tar -C ~/
设置环境变量。
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/ninja:$PATH
生效环境变量。
source ~/.bashrc
安装gcc_riscv32(WLAN模组类编译工具链)
须知
Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。
打开Linux编译服务器终端。
下载gcc_riscv32工具。
解压gcc_riscv32安装包至~/gcc_riscv32路径下。
`tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~`/
设置环境变量
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gcc_riscv32/bin:$PATH
生效环境变量。
source ~/.bashrc
Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。
riscv32-unknown-elf-gcc -v
整合
集体解压
配置环境变量
打开设置环境变量
vim ~/.bashrc
在最下面添加这几行
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
保存
source ~/.bashrc
现在可以查看这些环境变量
echo $PATH
导入和配置工程
源码获取
获取HarmonyOS源码
可以从鸿蒙官方获取HarmonyOS方法获取HarmonyOS源码。
地址
创建一个共享文件夹
映射
目前HarmonyOS源码只支持在Linux系统中进行编译,可以将Linux环境下的工程目录映射到Windows环境下,然后使用DevEco Device Tool打开,并在Windows环境下进行烧录和调试。映射方法如下:
在Linux上,设置HarmonyOS源码所在文件夹为共享文件夹。
在Windows上,鼠标右键单击“此电脑”,选择“映射网络驱动器(Z)
选择一个未使用的驱动器,并设置HarmonyOS源码所在的路径,格式为“\Linux IP地址\共享文件夹名称”,如:\10.6.25.83\HarmonyOS,点击“完成”。
导入源码
HarmonyOS暂不支持Windows系统源码,请从映射的Linux服务器的共享路径,导入源码。
在Visual Studio Code中,点击DevEco Device Tool插件按钮图标,然后点击“Import”按钮。
选择本地映射的HarmonyOS源码文件夹,然后点击“Import”导入工程。
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。
或者关注公众号。
编写不易,感谢支持。
本文地址:https://blog.csdn.net/qq_44629109/article/details/109240781